wilian 2015-08-07 13:25:12 +00:00
parent 8dbf2f6a08
commit 37e4b1483a
7 changed files with 312 additions and 45 deletions

View File

@ -0,0 +1,12 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClientePacote;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO;
public interface ClientePacoteDAO extends GenericDAO<ClientePacote, Long> {
public List<ClientePacoteVO> busquedaDatosClientePacote(String cpfCnpj);
}

View File

@ -37,57 +37,56 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
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 ");
.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)
;
.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);
.setParameter("fechaFinal", fecFinal, DateType.INSTANCE);
List<PacoteVO> pacotes = new ArrayList<PacoteVO>();

View File

@ -0,0 +1,56 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ClientePacoteDAO;
import com.rjconsultores.ventaboletos.entidad.ClientePacote;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO;
@Repository("clientePacoteDAO")
public class ClientePacoteHibernateDAO extends GenericHibernateDAO<ClientePacote, Long> implements ClientePacoteDAO {
@Autowired
public ClientePacoteHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
@SuppressWarnings("unchecked")
public List<ClientePacoteVO> busquedaDatosClientePacote(String cpfCnpj) {
List<ClientePacoteVO> clientePacoteVOs = new ArrayList<ClientePacoteVO>();
if(StringUtils.isNotBlank(cpfCnpj)) {
Map<String, Object> parametros = new HashMap<String, Object>();
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT DISTINCT NEW com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO(cp.razaoSocial, cp.cpfCnpj, cp.tipoPessoa, cp.descemail, cp.desctelefone, cp.descfax, cp.cep, ")
.append("cp.endereco, cp.numero, cp.complemento, cp.pais, cp.estado, cp.cidade, cp.bairro) ")
.append("FROM ClientePacote cp ");
if(StringUtils.isNotBlank(cpfCnpj)) {
sQuery.append("WHERE cp.cpfCnpj = :cpfCnpj ");
parametros.put("cpfCnpj", cpfCnpj.replaceAll("[^0-9]", ""));
}
sQuery.append("ORDER BY cp.razaoSocial ");
Query qr = getSession().createQuery(sQuery.toString());
for (Entry<String, Object> parametro : parametros.entrySet()) {
qr.setParameter(parametro.getKey(), parametro.getValue());
}
clientePacoteVOs = qr.list();
}
return clientePacoteVOs;
}
}

View File

@ -0,0 +1,163 @@
package com.rjconsultores.ventaboletos.vo.busquedapacotes;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import com.rjconsultores.ventaboletos.enums.TipoPessoa;
@XmlRootElement(name = "cliente")
@XmlType(propOrder = {"razaoSocial", "cpfCnpj", "tipoPessoa", "descemail", "desctelefone", "descfax", "endereco", "numero", "complemento",
"bairro", "cidade", "estado", "cep", "pais"})
public class ClientePacoteVO {
private String razaoSocial;
private String cpfCnpj;
private String tipoPessoa;
private String descemail;
private String desctelefone;
private String descfax;
private String endereco;
private String numero;
private String complemento;
private String bairro;
private String cidade;
private String estado;
private String cep;
private String pais;
public ClientePacoteVO() {
super();
}
public ClientePacoteVO(String razaoSocial, String cpfCnpj, TipoPessoa tipoPessoa, String descemail, String desctelefone, String descfax, String cep,
String endereco, String numero, String complemento, String pais, String estado, String cidade, String bairro) {
this();
setRazaoSocial(razaoSocial);
setCpfCnpj(cpfCnpj);
setTipoPessoa(tipoPessoa.toString());
setDescemail(descemail);
setDesctelefone(desctelefone);
setDescfax(descfax);
setCep(cep);
setEndereco(endereco);
setNumero(numero);
setComplemento(complemento);
setPais(pais);
setEstado(estado);
setCidade(cidade);
setBairro(bairro);
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public String getCpfCnpj() {
return cpfCnpj;
}
public void setCpfCnpj(String cpfCnpj) {
this.cpfCnpj = cpfCnpj;
}
public String getTipoPessoa() {
return tipoPessoa;
}
public void setTipoPessoa(String tipoPessoa) {
this.tipoPessoa = tipoPessoa;
}
public String getDescemail() {
return descemail;
}
public void setDescemail(String descemail) {
this.descemail = descemail;
}
public String getDesctelefone() {
return desctelefone;
}
public void setDesctelefone(String desctelefone) {
this.desctelefone = desctelefone;
}
public String getDescfax() {
return descfax;
}
public void setDescfax(String descfax) {
this.descfax = descfax;
}
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 getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
}

View File

@ -11,7 +11,10 @@ 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>();

View File

@ -0,0 +1,36 @@
package com.rjconsultores.ventaboletos.ws.rs;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.rjconsultores.ventaboletos.dao.ClientePacoteDAO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("")
public class BusquedaDatosClientePacoteRS {
private static Logger log = LoggerFactory.getLogger(BusquedaDatosClientePacoteRS.class);
@GET
@Path("/busquedadatosclientepacote")
@Produces({ MediaType.APPLICATION_XML })
public List<ClientePacoteVO> busquedaDatosClientePacote(@QueryParam("cpfcnpj") String cpfCnpjParam) {
try {
ClientePacoteDAO clientePacoteDao = (ClientePacoteDAO)AppContext.getApplicationContext().getBean("clientePacoteDAO");
return clientePacoteDao.busquedaDatosClientePacote(cpfCnpjParam);
} catch (Exception e) {
log.error(e.getMessage(), e.getCause());
}
return null;
}
}

View File

@ -12,9 +12,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import com.rjconsultores.ventaboletos.dao.BusquedaDatosTicketDAO;
import com.rjconsultores.ventaboletos.dao.CajaDAO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.PacoteVO;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioVO;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@Path("")