wilian 2015-08-14 14:08:53 +00:00
parent 1772b26889
commit 5390cfe68c
19 changed files with 799 additions and 490 deletions

View File

@ -11,20 +11,34 @@ import org.hibernate.type.DateType;
import org.hibernate.type.IntegerType; import org.hibernate.type.IntegerType;
import org.hibernate.type.LongType; import org.hibernate.type.LongType;
import org.hibernate.type.StringType; import org.hibernate.type.StringType;
import org.hibernate.type.TimestampType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.dao.BusquedaDatosTicketDAO; import com.rjconsultores.ventaboletos.dao.BusquedaDatosTicketDAO;
import com.rjconsultores.ventaboletos.entidad.Pacote; import com.rjconsultores.ventaboletos.entidad.Pacote;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.DatosTicketResultTransformer; import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.EnderecoApanheVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.PacoteVO; import com.rjconsultores.ventaboletos.vo.busquedapacotes.PacoteVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.PagamentoVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.PassageiroVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.ServicoVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosClientePacoteResultTransformer;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEnderecoApanheResultTransformer;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosPagamentoResultTransformer;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosPassageiroResultTransformer;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosServicoResultTransformer;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosTicketResultTransformer;
@Repository("busquedaDatosTicketDAO") @Repository("busquedaDatosTicketDAO")
public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote, Integer> implements BusquedaDatosTicketDAO { public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote, Integer> implements BusquedaDatosTicketDAO {
private static Logger log = org.slf4j.LoggerFactory.getLogger(BusquedaDatosTicketHibernateDAO.class); private static Logger log = org.slf4j.LoggerFactory.getLogger(BusquedaDatosTicketHibernateDAO.class);
private List<Long> vendapacoteIds;
@Autowired @Autowired
public BusquedaDatosTicketHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { public BusquedaDatosTicketHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
@ -33,71 +47,288 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
@Override @Override
public List<PacoteVO> buscaDatosTickets(Date fecInicial, Date fecFinal) { public List<PacoteVO> buscaDatosTickets(Date fecInicial, Date fecFinal) {
vendapacoteIds = null;
StringBuilder sql = new StringBuilder("");
sql.append("SELECT blt.boleto_id as \"boletoId\", ")
.append("blt.numfoliosistema as \"numBoleto\", ")
.append("blt.categoria_id as \"categoriaId\", ")
.append("ctg.desccategoria as \"categoria\", ")
.append("blt.origen_id as \"origenId\", ")
.append("blt.destino_id as \"destinoId\", ")
.append("blt.nombpasajero as \"nombPasajero\", ")
.append("blt.fechorviaje as \"fechorViaje\", ")
.append("blt.fechorventa as \"fechorVenta\", ")
.append("blt.numoperacion as \"numOperacion\", ")
.append("blt.tipoidentificacion_id as \"tipoIdentificacionId\", ")
.append("blt.numidentificacion as \"numIdentificacion\", ")
.append("blt.usuario_id as \"usuarioId\", ")
.append("fpg.cvepago as \"cvePago\", ")
.append("fpg.descpago as \"descPago\", ")
.append("bfp.importe as \"importe\" ")
.append("FROM boleto blt, ")
.append("categoria ctg, ")
.append("boleto_formapago bfp, ")
.append("forma_pago fpg ")
.append("WHERE bfp.boleto_id = blt.boleto_id ")
.append("AND blt.categoria_id = ctg.categoria_id ")
.append("AND bfp.formapago_id = fpg.formapago_id ")
.append("AND blt.motivocancelacion_id is null ")
.append("AND blt.indstatusoperacion = 'F' ")
.append("AND blt.activo = 1 ")
.append("AND blt.fechorviaje BETWEEN :fechaInicial AND :fechaFinal ")
.append("ORDER BY bfp.boleto_id desc ");
SQLQuery query = getSession().createSQLQuery(sql.toString())
.addScalar("boletoId", LongType.INSTANCE)
.addScalar("numBoleto", StringType.INSTANCE)
.addScalar("categoriaId", IntegerType.INSTANCE)
.addScalar("categoria", StringType.INSTANCE)
.addScalar("origenId", IntegerType.INSTANCE)
.addScalar("destinoId", IntegerType.INSTANCE)
.addScalar("nombPasajero", StringType.INSTANCE)
.addScalar("fechorViaje", DateType.INSTANCE)
.addScalar("fechorVenta", DateType.INSTANCE)
.addScalar("numOperacion", StringType.INSTANCE)
.addScalar("tipoIdentificacionId", IntegerType.INSTANCE)
.addScalar("numIdentificacion", StringType.INSTANCE)
.addScalar("usuarioId", IntegerType.INSTANCE)
.addScalar("cvePago", StringType.INSTANCE)
.addScalar("descPago", StringType.INSTANCE)
.addScalar("importe", BigDecimalType.INSTANCE);
query.setResultTransformer(new DatosTicketResultTransformer());
query.setParameter("fechaInicial", fecInicial, DateType.INSTANCE)
.setParameter("fechaFinal", fecFinal, DateType.INSTANCE);
List<PacoteVO> pacotes = new ArrayList<PacoteVO>(); List<PacoteVO> pacotes = new ArrayList<PacoteVO>();
try { try {
pacotes = query.list(); pacotes = carregarDadosPacotes(fecInicial, fecFinal);
}catch(Exception ex){ carregarDadosPagamento(pacotes);
log.error("", ex); carregarDadosServico(pacotes);
return null; carregarDadosPassageiros(pacotes);
carregarDadosCliente(pacotes);
carregarDadosEnderecoApanhe(pacotes);
} catch(Exception e) {
log.error(e.getMessage(), e);
pacotes.clear();
} }
return pacotes; return pacotes;
} }
@SuppressWarnings("unchecked")
private List<PacoteVO> carregarDadosPacotes(Date fecInicial, Date fecFinal) {
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, VP.DESCONTO, VP.NUMOPERACION, P.NOMPACOTE, E.NOMBEMPRESA, ")
.append("VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, ")
.append("COUNT(TVP.TARIFAVENDAPACOTE_ID) AS QTDEPASSAGEIRO, ")
.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("COUNT(PFP.PACOTEFORMAPAGO_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("LEFT JOIN PACOTE_FORMAPAGO PFP ON PFP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ")
.append("WHERE (B.BOLETO_ID IS NULL OR B.INDSTATUSBOLETO = 'V') ")
.append("AND VP.DATAPACOTE BETWEEN :fecInicial AND :fecFinal ")
.append("GROUP BY VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, ")
.append("VP.DESCONTO, VP.NUMOPERACION, P.NOMPACOTE, E.NOMBEMPRESA, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID ");
SQLQuery query = getSession().createSQLQuery(sQuery.toString())
.addScalar("VENDAPACOTE_ID", LongType.INSTANCE)
.addScalar("DATAPACOTE", DateType.INSTANCE)
.addScalar("DATAVENDA", DateType.INSTANCE)
.addScalar("SUBTOTAL", BigDecimalType.INSTANCE)
.addScalar("TOTAL", BigDecimalType.INSTANCE)
.addScalar("DESCONTO", BigDecimalType.INSTANCE)
.addScalar("NUMOPERACION", StringType.INSTANCE)
.addScalar("NOMPACOTE", 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);
query.setResultTransformer(new DatosTicketResultTransformer());
query.setParameter("fecInicial", fecInicial, DateType.INSTANCE)
.setParameter("fecFinal", fecFinal, DateType.INSTANCE);
return query.list();
}
@SuppressWarnings("unchecked")
private void carregarDadosPagamento(List<PacoteVO> pacotes) {
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, VPP.NUMOPERACION AS NUMOPERACAOPACOTEPAGAMENTO ")
.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("LEFT JOIN VENDA_PACOTE VPP ON NC.VENDAPACOTEPAGAMENTO_ID = VPP.VENDAPACOTE_ID ")
.append("WHERE PFP.VENDAPACOTE_ID IN (:vendapacoteIds) ")
.append("ORDER BY PFP.VENDAPACOTE_ID");
SQLQuery query = getSession().createSQLQuery(sQuery.toString())
.addScalar("PACOTEFORMAPAGO_ID", LongType.INSTANCE)
.addScalar("VALOR", BigDecimalType.INSTANCE)
.addScalar("VENDAPACOTE_ID", LongType.INSTANCE)
.addScalar("FORMAPAGO_ID", IntegerType.INSTANCE)
.addScalar("DESCPAGO", StringType.INSTANCE)
.addScalar("TIPOTARJETA", StringType.INSTANCE)
.addScalar("NUMAUTORIZACION", StringType.INSTANCE)
.addScalar("CANTPARCELAS", IntegerType.INSTANCE)
.addScalar("NOTACREDITOVENDAPACOTE_ID", LongType.INSTANCE)
.addScalar("NUMOPERACAOPACOTECANCELAMENTO", StringType.INSTANCE)
.addScalar("NUMOPERACAOPACOTEPAGAMENTO", StringType.INSTANCE);
query.setResultTransformer(new DatosPagamentoResultTransformer());
query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes));
List<PagamentoVO> pagamentos = query.list();
for (PacoteVO pacote : pacotes) {
int flag = -1;
for (PagamentoVO pagamento : pagamentos) {
if(pagamento.getVendapacoteId().equals(pacote.getVendapacoteId())) {
flag = 0;
if(pacote.getFormaspagamento() == null) {
pacote.setFormaspagamento(new ArrayList<PagamentoVO>());
}
if(isPacoteReserva(pacote) && isPagamentoPacoteReserva(pagamento) ||
(isPagamentoPacoteReserva(pagamento) && pacote.getQtdePacoteFormaspago() == 1) ||
(!isPacoteReserva(pacote) && !isPagamentoPacoteReserva(pagamento))) {
pacote.getFormaspagamento().add(pagamento);
}
} else if(flag == 0){
break;
}
}
}
}
private boolean isPacoteReserva(PacoteVO pacote) {
return SituacaoVendaPacote.RESERVA.toString().equals(pacote.getStatus());
}
private boolean isPagamentoPacoteReserva(PagamentoVO pagamento) {
return pagamento.getFormapagoId().equals(Constantes.FORMA_PAGO_RESERVA.intValue());
}
@SuppressWarnings("unchecked")
private void carregarDadosServico(List<PacoteVO> pacotes) {
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 VP.VENDAPACOTE_ID IN (:vendapacoteIds) ");
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);
query.setResultTransformer(new DatosServicoResultTransformer());
query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes));
List<ServicoVO> servicos = query.list();
for (PacoteVO pacote : pacotes) {
for (ServicoVO servico : servicos) {
if(servico.getVendapacoteId().equals(pacote.getVendapacoteId())) {
pacote.setServico(servico);
break;
}
}
}
}
@SuppressWarnings("unchecked")
private void carregarDadosCliente(List<PacoteVO> pacotes) {
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) ");
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);
query.setResultTransformer(new DatosClientePacoteResultTransformer());
query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes));
List<ClientePacoteVO> clientesPacotes = query.list();
for (PacoteVO pacote : pacotes) {
for (ClientePacoteVO clientePacote : clientesPacotes) {
if(clientePacote.getVendapacoteId().equals(pacote.getVendapacoteId())) {
pacote.setClientePacote(clientePacote);
}
}
}
}
@SuppressWarnings("unchecked")
private void carregarDadosPassageiros(List<PacoteVO> pacotes) {
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 ")
.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) ");
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("DESCCATEGORIA", StringType.INSTANCE);
query.setResultTransformer(new DatosPassageiroResultTransformer());
query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes));
List<PassageiroVO> passageiros = query.list();
for (PacoteVO pacote : pacotes) {
for (PassageiroVO passageiro : passageiros) {
if(passageiro.getVendapacoteId().equals(pacote.getVendapacoteId())) {
if(pacote.getPax() == null) {
pacote.setPax(new ArrayList<PassageiroVO>());
}
pacote.getPax().add(passageiro);
}
}
}
}
@SuppressWarnings("unchecked")
private void carregarDadosEnderecoApanhe(List<PacoteVO> pacotes) {
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");
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);
query.setResultTransformer(new DatosEnderecoApanheResultTransformer());
query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes));
List<EnderecoApanheVO> enderecosApanhe = query.list();
for (PacoteVO pacote : pacotes) {
for (EnderecoApanheVO enderecoApanhe : enderecosApanhe) {
if(enderecoApanhe.getVendapacoteId().equals(pacote.getVendapacoteId())) {
pacote.setEnderecoApanhe(enderecoApanhe);
}
}
}
}
private List<Long> getVendapacoteIds(List<PacoteVO> pacotes) {
if(vendapacoteIds == null || vendapacoteIds.isEmpty()) {
vendapacoteIds = new ArrayList<Long>();
for (PacoteVO pacoteVO : pacotes) {
vendapacoteIds.add(pacoteVO.getVendapacoteId());
}
}
return vendapacoteIds;
}
} }

View File

@ -1,6 +1,7 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes; package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
import com.rjconsultores.ventaboletos.enums.TipoPessoa; import com.rjconsultores.ventaboletos.enums.TipoPessoa;
@ -10,6 +11,7 @@ import com.rjconsultores.ventaboletos.enums.TipoPessoa;
"bairro", "cidade", "estado", "cep", "pais"}) "bairro", "cidade", "estado", "cep", "pais"})
public class ClientePacoteVO { public class ClientePacoteVO {
private Long vendapacoteId;
private String razaoSocial; private String razaoSocial;
private String cpfCnpj; private String cpfCnpj;
private String tipoPessoa; private String tipoPessoa;
@ -160,4 +162,13 @@ public class ClientePacoteVO {
this.bairro = bairro; this.bairro = bairro;
} }
@XmlTransient
public Long getVendapacoteId() {
return vendapacoteId;
}
public void setVendapacoteId(Long vendapacoteId) {
this.vendapacoteId = vendapacoteId;
}
} }

View File

@ -0,0 +1,29 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "dadosBancarios")
@XmlType(propOrder = {"banco", "identificadorDeposito"})
public class DadosBancarioVO {
private String banco;
private String identificadorDeposito;
public String getBanco() {
return banco;
}
public void setBanco(String banco) {
this.banco = banco;
}
public String getIdentificadorDeposito() {
return identificadorDeposito;
}
public void setIdentificadorDeposito(String identificadorDeposito) {
this.identificadorDeposito = identificadorDeposito;
}
}

View File

@ -1,276 +0,0 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hibernate.transform.ResultTransformer;
public class DatosTicketResultTransformer implements ResultTransformer {
private static final long serialVersionUID = 1L;
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public List<PacoteVO> transformList(List mapList) {
Map<String, PacoteVO> pacotes = new HashMap<String, PacoteVO>();
for(Object objmap : mapList ){
Map<String, Object> tupleMap = (Map<String, Object>) objmap;
String numOperacao = (String) tupleMap.get("numOperacion");
if(!pacotes.containsKey(numOperacao)){
PacoteVO pacote = new PacoteVO();
setDatosPacote(pacote, tupleMap);
pacotes.put(numOperacao, pacote);
}
PacoteVO pacote = pacotes.get(numOperacao);
setServico(pacote, tupleMap);
setFormasPagamento(pacote, tupleMap);
}
List<PacoteVO> pacotesList = new ArrayList<PacoteVO>();
pacotesList.addAll(pacotes.values());
return pacotesList;
}
@Override
public Object transformTuple(Object[] data, String[] aliases) {
Map<String,Object> row = new HashMap<String,Object>();
for(int index = 0; index < aliases.length; index++){
row.put(aliases[index], data[index]);
}
return row;
}
private void setDatosPacote(PacoteVO pacote, Map<String, Object> tupleMap){
String numoperacao = (String) tupleMap.get("numOperacion");
pacote.setNumoperacao(numoperacao);
Integer usuariovenda = (Integer) tupleMap.get("usuarioId");
pacote.setUsuariovenda(usuariovenda);
Date datavenda = (Date)tupleMap.get("fechorVenta");
pacote.setDatavenda(datavenda);
}
private void setFormasPagamento(PacoteVO pacote, Map<String, Object> tupleMap){
Pagamento pagamento = new Pagamento();
pagamento.setMoeda("R$");
BigDecimal valorPagamento = (BigDecimal)tupleMap.get("importe");
pagamento.setValor(valorPagamento);
String cvePago = (String)tupleMap.get("cvePago");
boolean isVentaCartaoCredito = isVentaCartaoCredito(cvePago);
boolean isVentaCartaoDebito = isVentaCartaoDebito(cvePago);
if(isVentaCartaoCredito || isVentaCartaoDebito){
PagamentoCartao pgtoCartao = new PagamentoCartao();
Integer tipo = (isVentaCartaoCredito) ? PagamentoCartao.TIPO_CREDITO : PagamentoCartao.TIPO_DEBITO;
pgtoCartao.setTipo(tipo);
pgtoCartao.setBandeira(getBandeiraCartao(cvePago));
pagamento.setCartao(pgtoCartao);
pagamento.setFormapagamento("CARTAO");
} else {
String descPago = (String)tupleMap.get("descPago");
pagamento.setFormapagamento(descPago);
}
pacote.setValortotal(pacote.getValortotal().add(valorPagamento));
pacote.getFormaspagamento().add(pagamento);
}
private boolean isVentaCartaoCredito(String cvePago){
return PagamentoCartao.CREDITO.equals(cvePago)
|| PagamentoCartao.VISA_CREDITO.equals(cvePago)
|| PagamentoCartao.MASTER_CREDITO.equals(cvePago);
}
private boolean isVentaCartaoDebito(String cvePago){
return PagamentoCartao.DEBITO.equals(cvePago)
|| PagamentoCartao.VISA_ELECTRON.equals(cvePago)
|| PagamentoCartao.MAESTRO.equals(cvePago);
}
private boolean isVentaCartaoVisa(String cvePago){
return PagamentoCartao.MAESTRO.equals(cvePago)
|| PagamentoCartao.MASTER_CREDITO.equals(cvePago);
}
private boolean isVentaDebitoMaster(String cvePago){
return PagamentoCartao.VISA_ELECTRON.equals(cvePago)
|| PagamentoCartao.VISA_CREDITO.equals(cvePago);
}
private String getBandeiraCartao(String cvePago){
String bandeiraCartao = "";
if(isVentaCartaoVisa(cvePago)){
bandeiraCartao = "VISA";
}else if(isVentaDebitoMaster(cvePago)){
bandeiraCartao = "MASTERCARD";
} else {
bandeiraCartao = String.format("OUTROS(%s)",cvePago);
}
return bandeiraCartao;
}
private void setServico(PacoteVO pacote, Map<String, Object> tupleMap){
Servico servico = pacote.getServico();
servico = (servico == null) ? new Servico() : servico;
Date dataviagem = (Date)tupleMap.get("fechorViaje");
servico.setDataviagem(dataviagem);
setDatosPassageiro(servico, pacote, tupleMap);
Integer quantidade = pacote.getQuantidade();
pacote.setQuantidade(++quantidade);
Integer origenId = (Integer)tupleMap.get("origenId");
servico.setLocalorigem(origenId);
Date fechorViaje = (Date)tupleMap.get("fechorViaje");
servico.setDataviagem(fechorViaje);
pacote.setServico(servico);
}
private void setDatosPassageiro(Servico servico, PacoteVO pacote, Map<String, Object> tupleMap){
Passageiro passageiro = new Passageiro();
String docPassageiro = (String) tupleMap.get("numIdentificacion");
passageiro.setDocumento(docPassageiro);
String nomePassageiro = (String) tupleMap.get("nombPasajero");
passageiro.setNome(nomePassageiro);
Long boletoId = (Long) tupleMap.get("boletoId");
passageiro.setBoletoId(boletoId);
String numBoleto = (String) tupleMap.get("numBoleto");
passageiro.setNumboleto(numBoleto);
setCategoriaPassageiro(passageiro, tupleMap);
List<Passageiro> pax = servico.getPax();
if(!pax.contains(passageiro)){
pax.add(passageiro);
}
}
private void setCategoriaPassageiro(Passageiro passageiro, Map<String, Object> tupleMap){
Integer categoriaId = (Integer) tupleMap.get("categoriaId");
String categoria = (String) tupleMap.get("categoria");
String categoriaWS = "";
if(isCategoriaAdult(categoriaId)){
categoriaWS = Passageiro.CATEGORIA_ADULT;
}else if(isCategoriaInfant(categoriaId)){
categoriaWS = Passageiro.CATEGORIA_INFANT;
}else if(isCategoriaChild(categoriaId)){
categoriaWS = Passageiro.CATEGORIA_CHILD;
}else if(isCategoriaSenior(categoriaId)){
categoriaWS = Passageiro.CATEGORIA_SENIOR;
}else{
categoriaWS = String.format("%s-%s", categoriaId.toString(), categoria);
}
passageiro.setCategoria(categoriaWS);
}
private boolean isCategoriaSenior(Integer categoriaId){
return (Passageiro.CATEGORIA_IDOSO_100 == categoriaId
|| Passageiro.CATEGORIA_IDOSO_50 == categoriaId
|| Passageiro.CATEGORIA_IDOSO_CE == categoriaId
|| Passageiro.CATEGORIA_IDOSO_MA == categoriaId
|| Passageiro.CATEGORIA_IDOSO_50_MA == categoriaId
|| Passageiro.CATEGORIA_IDOSO_100_PB_BIL == categoriaId
|| Passageiro.CATEGORIA_IDOSO_50_PB_BIL == categoriaId
|| Passageiro.CATEGORIA_IDOSO_100_SP == categoriaId
|| Passageiro.CATEGORIA_IDOSO_100_GO == categoriaId
|| Passageiro.CATEGORIA_IDOSO_50_GO == categoriaId
|| Passageiro.CATEGORIA_IDOSO_100_TO == categoriaId
|| Passageiro.CATEGORIA_IDOSO_50_TO == categoriaId);
}
private boolean isCategoriaAdult(Integer categoriaId){
return (Passageiro.CATEGORIA_DEFICIENTE == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_GO == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_TO == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_PB == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_BA == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_MA == categoriaId
|| Passageiro.CATEGORIA_DEFICIENTE_PI == categoriaId
|| Passageiro.CATEGORIA_ESTUDANTE == categoriaId
|| Passageiro.CATEGORIA_ESTUDANTE_PB == categoriaId
|| Passageiro.CATEGORIA_ESTUDANTE_CE_LIBERCAD == categoriaId
|| Passageiro.CATEGORIA_FISCAL_DO_TRABALHO == categoriaId
|| Passageiro.CATEGORIA_OPERADOR_A_TRABALHO == categoriaId
|| Passageiro.CATEGORIA_PRF == categoriaId
|| Passageiro.CATEGORIA_POL_MILITAR_MA == categoriaId
|| Passageiro.CATEGORIA_MILITAR_PI_POL == categoriaId
|| Passageiro.CATEGORIA_CE_PM_BOMBEIRO == categoriaId
|| Passageiro.CATEGORIA_CE_DETRAN == categoriaId
|| Passageiro.CATEGORIA_MA_OFI_JUSTICA == categoriaId
|| Passageiro.CATEGORIA_ERFP == categoriaId
|| Passageiro.CATEGORIA_MA_SINFRA == categoriaId
|| Passageiro.CATEGORIA_SINDICATO_PB == categoriaId
|| Passageiro.CATEGORIA_SINDICATO_CE == categoriaId
|| Passageiro.CATEGORIA_SINDICATO_PI == categoriaId
|| Passageiro.CATEGORIA_PB_PORTADOR_DE_CA == categoriaId
|| Passageiro.CATEGORIA_PB_ACOMP_PORT_CA == categoriaId
|| Passageiro.CATEGORIA_PB_INTEG_PARAIBA == categoriaId
|| Passageiro.CATEGORIA_CORTESIA_AFETIVIDADE == categoriaId
|| Passageiro.CATEGORIA_CORTESIA_EMPRESA == categoriaId
|| Passageiro.CATEGORIA_NORMAL == categoriaId );
}
private boolean isCategoriaInfant(Integer categoriaId){
return false;
}
private boolean isCategoriaChild(Integer categoriaId){
return (Passageiro.CATEGORIA_CRIANCA_GRATUIDADE == categoriaId);
}
}

View File

@ -0,0 +1,94 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
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" })
public class EnderecoApanheVO {
private Long vendapacoteId;
private String local;
private String cep;
private String endereco;
private String cidade;
private String numero;
private String bairro;
private String complemento;
private String referencia;
public String getLocal() {
return local;
}
public void setLocal(String local) {
this.local = local;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getReferencia() {
return referencia;
}
public void setReferencia(String referencia) {
this.referencia = referencia;
}
@XmlTransient
public Long getVendapacoteId() {
return vendapacoteId;
}
public void setVendapacoteId(Long vendapacoteId) {
this.vendapacoteId = vendapacoteId;
}
}

View File

@ -0,0 +1,38 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "notacredito")
@XmlType(propOrder = { "vouchernotacredito", "numoperacaopacotepagamento", "numoperacaopacotecancelamento" })
public class NotaCreditoVendaPacoteVO {
private String numoperacaopacotecancelamento;
private String numoperacaopacotepagamento;
private Long vouchernotacredito;
public String getNumoperacaopacotecancelamento() {
return numoperacaopacotecancelamento;
}
public void setNumoperacaopacotecancelamento(String numoperacaopacotecancelamento) {
this.numoperacaopacotecancelamento = numoperacaopacotecancelamento;
}
public String getNumoperacaopacotepagamento() {
return numoperacaopacotepagamento;
}
public void setNumoperacaopacotepagamento(String numoperacaopacotepagamento) {
this.numoperacaopacotepagamento = numoperacaopacotepagamento;
}
public Long getVouchernotacredito() {
return vouchernotacredito;
}
public void setVouchernotacredito(Long vouchernotacredito) {
this.vouchernotacredito = vouchernotacredito;
}
}

View File

@ -8,23 +8,44 @@ import java.util.List;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "pacote") @XmlRootElement(name = "pacote")
@XmlType(propOrder={"datavenda", "numoperacao", "quantidade", "usuariovenda", "valortotal", "valordesconto", "status", "formaspagamento", "servico"}) @XmlType(propOrder = { "numoperacao", "datavenda", "datapacote", "nompacote", "usuariovenda", "status", "pontoVenda", "empresa", "quantidade",
"totalTarifa", "totalSeguro", "totalOutros", "totalPedagio", "totalTaxaEmbarque", "valorsubtotal", "valortotal", "valordesconto",
"formaspagamento", "servico", "pax", "enderecoApanhe", "clientePacote" })
public class PacoteVO { public class PacoteVO {
private Long vendapacoteId;
private Date datapacote;
private Date datavenda; private Date datavenda;
private String nompacote;
private String numoperacao; private String numoperacao;
private Integer quantidade = 0;
private Integer usuariovenda; private Integer usuariovenda;
private BigDecimal valortotal = BigDecimal.ZERO;
private BigDecimal valordesconto;
private String status; private String status;
private String pontoVenda;
private String empresa;
private Integer quantidade = 0;
private BigDecimal totalTarifa = BigDecimal.ZERO;
private BigDecimal totalSeguro = BigDecimal.ZERO;
private BigDecimal totalOutros = BigDecimal.ZERO;
private BigDecimal totalPedagio = BigDecimal.ZERO;
private BigDecimal totalTaxaEmbarque = BigDecimal.ZERO;
private List<Pagamento> formaspagamento = new ArrayList<Pagamento>(); private BigDecimal valorsubtotal = BigDecimal.ZERO;
private BigDecimal valortotal = BigDecimal.ZERO;
private BigDecimal valordesconto = BigDecimal.ZERO;
private Servico servico; private ClientePacoteVO clientePacote;
private ServicoVO servico;
private EnderecoApanheVO enderecoApanhe;
private List<PagamentoVO> formaspagamento = new ArrayList<PagamentoVO>();
private List<PassageiroVO> pax = new ArrayList<PassageiroVO>();
/* Auxiliares */
private Integer qtdePacoteFormaspago;
public Integer getQuantidade() { public Integer getQuantidade() {
return quantidade; return quantidade;
@ -83,23 +104,145 @@ public class PacoteVO {
} }
@XmlElementWrapper @XmlElementWrapper
@XmlElement(name="pagamento", type=Pagamento.class) @XmlElement(name = "pagamento", type = PagamentoVO.class)
public List<Pagamento> getFormaspagamento() { public List<PagamentoVO> getFormaspagamento() {
return formaspagamento; return formaspagamento;
} }
public void setFormaspagamento(List<Pagamento> formaspagamento) { public void setFormaspagamento(List<PagamentoVO> formaspagamento) {
this.formaspagamento = formaspagamento; this.formaspagamento = formaspagamento;
} }
public Servico getServico() { public ServicoVO getServico() {
return servico; return servico;
} }
public void setServico(Servico servico) { public void setServico(ServicoVO servico) {
this.servico = servico; this.servico = servico;
} }
@XmlElementWrapper
@XmlElement(name = "passageiro", type = PassageiroVO.class)
public List<PassageiroVO> getPax() {
return pax;
}
public void setPax(List<PassageiroVO> pax) {
this.pax = pax;
}
public Date getDatapacote() {
return datapacote;
}
public void setDatapacote(Date datapacote) {
this.datapacote = datapacote;
}
public String getPontoVenda() {
return pontoVenda;
}
public void setPontoVenda(String pontoVenda) {
this.pontoVenda = pontoVenda;
}
public String getEmpresa() {
return empresa;
}
public void setEmpresa(String empresa) {
this.empresa = empresa;
}
public BigDecimal getValorsubtotal() {
return valorsubtotal;
}
public void setValorsubtotal(BigDecimal valorsubtotal) {
this.valorsubtotal = valorsubtotal;
}
public BigDecimal getTotalTarifa() {
return totalTarifa;
}
public void setTotalTarifa(BigDecimal totalTarifa) {
this.totalTarifa = totalTarifa;
}
public BigDecimal getTotalSeguro() {
return totalSeguro;
}
public void setTotalSeguro(BigDecimal totalSeguro) {
this.totalSeguro = totalSeguro;
}
public BigDecimal getTotalOutros() {
return totalOutros;
}
public void setTotalOutros(BigDecimal totalOutros) {
this.totalOutros = totalOutros;
}
public ClientePacoteVO getClientePacote() {
return clientePacote;
}
public void setClientePacote(ClientePacoteVO clientePacote) {
this.clientePacote = clientePacote;
}
public BigDecimal getTotalTaxaEmbarque() {
return totalTaxaEmbarque;
}
public void setTotalTaxaEmbarque(BigDecimal totalTaxaEmbarque) {
this.totalTaxaEmbarque = totalTaxaEmbarque;
}
public BigDecimal getTotalPedagio() {
return totalPedagio;
}
public void setTotalPedagio(BigDecimal totalPedagio) {
this.totalPedagio = totalPedagio;
}
public String getNompacote() {
return nompacote;
}
public void setNompacote(String nompacote) {
this.nompacote = nompacote;
}
@XmlTransient
public Long getVendapacoteId() {
return vendapacoteId;
}
public void setVendapacoteId(Long vendapacoteId) {
this.vendapacoteId = vendapacoteId;
}
public EnderecoApanheVO getEnderecoApanhe() {
return enderecoApanhe;
}
public void setEnderecoApanhe(EnderecoApanheVO enderecoApanhe) {
this.enderecoApanhe = enderecoApanhe;
}
@XmlTransient
public Integer getQtdePacoteFormaspago() {
return qtdePacoteFormaspago;
}
public void setQtdePacoteFormaspago(Integer qtdePacoteFormaspago) {
this.qtdePacoteFormaspago = qtdePacoteFormaspago;
}
} }

View File

@ -1,42 +0,0 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name="pagamento")
@XmlType(propOrder={"formapagamento", "moeda", "valor", "cartao"})
public class Pagamento {
private String formapagamento;
private String moeda;
private BigDecimal valor;
private PagamentoCartao cartao;
public String getMoeda() {
return moeda;
}
public void setMoeda(String moeda) {
this.moeda = moeda;
}
public String getFormapagamento() {
return formapagamento;
}
public void setFormapagamento(String formapagamento) {
this.formapagamento = formapagamento;
}
public PagamentoCartao getCartao() {
return cartao;
}
public void setCartao(PagamentoCartao cartao) {
this.cartao = cartao;
}
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
}

View File

@ -1,49 +0,0 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="cartao")
public class PagamentoCartao {
public static final String DINHEIRO="DI";
public static final String DOLAR="DO";
public static final String CREDITO="CR";
public static final String DEBITO="DE";
public static final String VISA_CREDITO="CM";
public static final String VISA_ELECTRON="DM";
public static final String MASTER_CREDITO="RC";
public static final String MAESTRO="RD";
public static final String CORTESIA="CO";
public static final String TROCA_DE_PASSGEM="TP";
public static final String ORDEM_DE_SERVIC="OS";
public static final String PASSAGENS_SRVP="PS";
public static final String CORTESIA_SINTETI="CS";
public static final String REIMPRESSAO_DE_PASSAGEM="RP";
public static final String IMPRESSAO_PASSAGEM="IM";
public static final String IMPRESSAO_CALL_CENTER="CC";
public static final String IMPRESSÃO_INTERNET="II";
public static final int TIPO_CREDITO = 1;
public static final int TIPO_DEBITO = 2;
// <!-- 1-credito/2-debito -->
private Integer tipo;
private String bandeira;
public Integer getTipo() {
return tipo;
}
public void setTipo(Integer tipo) {
this.tipo = tipo;
}
public String getBandeira() {
return bandeira;
}
public void setBandeira(String bandeira) {
this.bandeira = bandeira;
}
}

View File

@ -0,0 +1,32 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="cartao")
public class PagamentoCartaoVO {
private String bandeira;
private String numautorizacao;
private Integer parcelas;
public String getBandeira() {
return bandeira;
}
public void setBandeira(String bandeira) {
this.bandeira = bandeira;
}
public String getNumautorizacao() {
return numautorizacao;
}
public void setNumautorizacao(String numautorizacao) {
this.numautorizacao = numautorizacao;
}
public Integer getParcelas() {
return parcelas;
}
public void setParcelas(Integer parcelas) {
this.parcelas = parcelas;
}
}

View File

@ -0,0 +1,88 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "pagamento")
@XmlType(propOrder = { "formapagamento", "moeda", "valor", "notacredito", "cartao", "dadosBancario" })
public class PagamentoVO {
private String formapagamento;
private String moeda;
private BigDecimal valor;
private PagamentoCartaoVO cartao;
private DadosBancarioVO dadosBancario;
private Long vendapacoteId;
private Integer formapagoId;
private NotaCreditoVendaPacoteVO notacredito;
public String getMoeda() {
return moeda;
}
public void setMoeda(String moeda) {
this.moeda = moeda;
}
public String getFormapagamento() {
return formapagamento;
}
public void setFormapagamento(String formapagamento) {
this.formapagamento = formapagamento;
}
public PagamentoCartaoVO getCartao() {
return cartao;
}
public void setCartao(PagamentoCartaoVO cartao) {
this.cartao = cartao;
}
public BigDecimal getValor() {
return valor;
}
public void setValor(BigDecimal valor) {
this.valor = valor;
}
public DadosBancarioVO getDadosBancario() {
return dadosBancario;
}
public void setDadosBancario(DadosBancarioVO dadosBancario) {
this.dadosBancario = dadosBancario;
}
@XmlTransient
public Long getVendapacoteId() {
return vendapacoteId;
}
public void setVendapacoteId(Long vendapacoteId) {
this.vendapacoteId = vendapacoteId;
}
@XmlTransient
public Integer getFormapagoId() {
return formapagoId;
}
public void setFormapagoId(Integer formapagoId) {
this.formapagoId = formapagoId;
}
public NotaCreditoVendaPacoteVO getNotacredito() {
return notacredito;
}
public void setNotacredito(NotaCreditoVendaPacoteVO notacredito) {
this.notacredito = notacredito;
}
}

View File

@ -2,9 +2,11 @@ package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name="passageiro") @XmlRootElement(name="passageiro")
public class Passageiro { @XmlType(propOrder = { "nome", "documento", "categoria", "asento", "boletoId" })
public class PassageiroVO {
public static final String CATEGORIA_ADULT = "ADT"; public static final String CATEGORIA_ADULT = "ADT";
public static final String CATEGORIA_CHILD = "CHD"; public static final String CATEGORIA_CHILD = "CHD";
@ -65,12 +67,12 @@ public class Passageiro {
public static final int CATEGORIA_DEFICIENTE_MA=33; public static final int CATEGORIA_DEFICIENTE_MA=33;
public static final int CATEGORIA_DEFICIENTE_PI=36; public static final int CATEGORIA_DEFICIENTE_PI=36;
private Long vendapacoteId;
private Long tarifavendapacoteId;
private Long boletoId; private Long boletoId;
private String numboleto; private String asento;
private String nome; private String nome;
private String documento; private String documento;
// ADT|CHD|INF|SEN
private String categoria; private String categoria;
public String getNome() { public String getNome() {
@ -97,17 +99,29 @@ public class Passageiro {
public void setBoletoId(Long boletoId) { public void setBoletoId(Long boletoId) {
this.boletoId = boletoId; this.boletoId = boletoId;
} }
public String getNumboleto() {
return numboleto; @XmlTransient
} public Long getVendapacoteId() {
public void setNumboleto(String numboleto) { return vendapacoteId;
this.numboleto = numboleto;
} }
@Override public void setVendapacoteId(Long vendapacoteId) {
public boolean equals(Object obj) { this.vendapacoteId = vendapacoteId;
Passageiro param = (Passageiro)obj; }
return this.boletoId.equals(param.getBoletoId());
public String getAsento() {
return asento;
}
public void setAsento(String asento) {
this.asento = asento;
}
@XmlTransient
public Long getTarifavendapacoteId() {
return tarifavendapacoteId;
}
public void setTarifavendapacoteId(Long tarifavendapacoteId) {
this.tarifavendapacoteId = tarifavendapacoteId;
} }
} }

View File

@ -1,24 +1,22 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes; package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement @XmlRootElement
public class Servico { @XmlType(propOrder = {"localorigem", "origem", "destino", "dataviagem", "horario", "horarioapanhe"})
public class ServicoVO {
private Long vendapacoteId;
private Integer localorigem; private Integer localorigem;
private Date dataviagem; private Date dataviagem;
private Date horario; private Date horario;
private Date horarioapanhe; private Date horarioapanhe;
private Boolean faturado; private String destino;
private String observacoes; private String origem;
private List<Passageiro> pax = new ArrayList<Passageiro>();
public Integer getLocalorigem() { public Integer getLocalorigem() {
return localorigem; return localorigem;
@ -52,31 +50,29 @@ public class Servico {
this.horarioapanhe = horarioapanhe; this.horarioapanhe = horarioapanhe;
} }
public Boolean getFaturado() { public String getDestino() {
return faturado; return destino;
} }
public void setFaturado(Boolean faturado) { public void setDestino(String destino) {
this.faturado = faturado; this.destino = destino;
} }
public String getObservacoes() { public String getOrigem() {
return observacoes; return origem;
} }
public void setObservacoes(String observacoes) { public void setOrigem(String origem) {
this.observacoes = observacoes; this.origem = origem;
} }
@XmlElementWrapper @XmlTransient
@XmlElement(name="passageiro", type=Passageiro.class) public Long getVendapacoteId() {
public List<Passageiro> getPax() { return vendapacoteId;
return pax;
} }
public void setPax(List<Passageiro> pax) { public void setVendapacoteId(Long vendapacoteId) {
this.pax = pax; this.vendapacoteId = vendapacoteId;
} }
} }

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;

View File

@ -1,4 +1,4 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes.resulttransformer; package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;