From 56fa62d48e21daf79d1d1e64421a5af0b5cf6755 Mon Sep 17 00:00:00 2001 From: gleimar Date: Mon, 20 Feb 2017 21:27:56 +0000 Subject: [PATCH] fixes bug#8698 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@66081 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/CajaDAO.java | 6 + .../dao/hibernate/CajaHibernateDAO.java | 95 +++++ .../dao/sqlbuilder/SQLBuilder.java | 2 + .../dao/sqlbuilder/impl/SQLBuilderOracle.java | 66 ++++ .../ventaboletos/vo/caja/CajaDetalleVO.java | 344 ++++++++++++++++++ .../vo/caja/PagamentoCartaoVO.java | 54 +++ .../ventaboletos/vo/caja/PagamentoVO.java | 60 +++ .../ventaboletos/ws/rs/CajaRS.java | 31 +- 8 files changed, 657 insertions(+), 1 deletion(-) create mode 100644 src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java create mode 100644 src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java create mode 100644 src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java diff --git a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java index f21033526..8aaefce97 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java @@ -7,13 +7,19 @@ 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.vo.caja.CajaDetalleVO; import com.rjconsultores.ventaboletos.vo.caja.CajaVO; import com.rjconsultores.ventaboletos.vo.caja.UsuarioVO; import com.rjconsultores.ventaboletos.vo.caja.VendaEmbarcadaVO; public interface CajaDAO { public List buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta); + public List buscarCajaCerrado(Date fecha, String cveusuario, String turnoid); + List buscarUsuarioCerrado(Date fecha); + public void gerarVendaEmbarcada(VendaEmbarcadaVO vendaEmbarcada) throws VendaEmbarcadaBoletoException, VendaEmbarcadaBoletoFormapagoException, VendaEmbarcadaCajaException, VendaEmbarcadaCajaFormapagoException; + + public List buscarDetalleCaja(Date fechaDesde, Date fechaHasta); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java index bd4b3e24a..70b7a1357 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java @@ -6,6 +6,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.hibernate.SQLQuery; import org.hibernate.SessionFactory; import org.hibernate.transform.AliasToBeanResultTransformer; @@ -28,7 +29,10 @@ import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaBoletoFormapagoExc import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaCajaException; import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaCajaFormapagoException; import com.rjconsultores.ventaboletos.vo.caja.CajaCerradoVO; +import com.rjconsultores.ventaboletos.vo.caja.CajaDetalleVO; import com.rjconsultores.ventaboletos.vo.caja.CajaVO; +import com.rjconsultores.ventaboletos.vo.caja.PagamentoCartaoVO; +import com.rjconsultores.ventaboletos.vo.caja.PagamentoVO; import com.rjconsultores.ventaboletos.vo.caja.ReceitaDespesaVO; import com.rjconsultores.ventaboletos.vo.caja.UsuarioVO; import com.rjconsultores.ventaboletos.vo.caja.VendaEmbarcadaVO; @@ -102,6 +106,97 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen return list; } + @Override + public List buscarDetalleCaja(Date fechaDesde, Date fechaHasta) { + + String sqlBuscarCajaFecha = sqlBuilder.getSQLBuscarDatosCaja(fechaDesde, fechaHasta); + + SQLQuery sql = getSession().createSQLQuery(sqlBuscarCajaFecha) + .addScalar("cajaId", LongType.INSTANCE) + .addScalar("numAsiento", StringType.INSTANCE) + .addScalar("categoriaId", IntegerType.INSTANCE) + .addScalar("numFolioSistema", StringType.INSTANCE) + .addScalar("claseServicioId", IntegerType.INSTANCE) + .addScalar("marcaId", IntegerType.INSTANCE) + .addScalar("origenId", IntegerType.INSTANCE) + .addScalar("destinoId", IntegerType.INSTANCE) + .addScalar("corridaId", IntegerType.INSTANCE) + .addScalar("fecCorrida", DateType.INSTANCE) + .addScalar("nombPasajero", StringType.INSTANCE) + .addScalar("precioBase", BigDecimalType.INSTANCE) + .addScalar("precioPagado", BigDecimalType.INSTANCE) + .addScalar("tipoVentaId", IntegerType.INSTANCE) + .addScalar("numSeriePreimpresa", StringType.INSTANCE) + .addScalar("numFolioPreImpreso", StringType.INSTANCE) + .addScalar("fecHorViaje", DateType.INSTANCE) + .addScalar("fecHorVenta", DateType.INSTANCE) + .addScalar("puntoVentaId", IntegerType.INSTANCE) + .addScalar("numPuntoVenta", StringType.INSTANCE) + .addScalar("numKmViaje", BigDecimalType.INSTANCE) + .addScalar("numOperacion", StringType.INSTANCE) + .addScalar("motivoCancelacionId", IntegerType.INSTANCE) + .addScalar("empresaPuntoVentaId", IntegerType.INSTANCE) + .addScalar("empresaCorridaId", IntegerType.INSTANCE) + .addScalar("turnoId", IntegerType.INSTANCE) + .addScalar("importeTaxaEmbarque", BigDecimalType.INSTANCE) + .addScalar("importePedagio", BigDecimalType.INSTANCE) + .addScalar("importeOutros", BigDecimalType.INSTANCE) + .addScalar("importeSeguro", BigDecimalType.INSTANCE) + .addScalar("rutaId", IntegerType.INSTANCE) + .addScalar("usuarioId", IntegerType.INSTANCE) + .addScalar("numAutorizacion", StringType.INSTANCE) + .addScalar("ordenSevicio", StringType.INSTANCE) + .addScalar("descPago", StringType.INSTANCE) + .addScalar("cveCategoria", StringType.INSTANCE) + .addScalar("formaPagoId", IntegerType.INSTANCE) + .addScalar("vlrFormaPago", BigDecimalType.INSTANCE) + .addScalar("descMotivo", StringType.INSTANCE); + + + sql.setResultTransformer(new AliasToBeanResultTransformer(CajaDetalleVO.class)); + + @SuppressWarnings("unchecked") + List lsBusca = (List)sql.list(); + + List lsResultado = new ArrayList(); + + for (CajaDetalleVO cd : lsBusca) { + + int indexOf = lsResultado.indexOf(cd); + + CajaDetalleVO cajaDetalleVO = null; + + if (indexOf != -1){ + cajaDetalleVO = lsResultado.get(indexOf); + }else{ + cajaDetalleVO = cd; + } + + if (cajaDetalleVO.getFormaspagamento() == null){ + cajaDetalleVO.setFormaspagamento(new ArrayList()); + } + + PagamentoVO pagamentoVO = new PagamentoVO(); + pagamentoVO.setFormapagamento(cd.getDescPago()); + pagamentoVO.setMoeda("R$"); + pagamentoVO.setValor(cd.getVlrFormaPago()); + + if (StringUtils.isNotBlank(cd.getNumAutorizacion())){ + PagamentoCartaoVO cartao = new PagamentoCartaoVO(); + cartao.setNumautorizacao(cd.getNumAutorizacion()); + + pagamentoVO.setCartao(cartao); + } + + cajaDetalleVO.getFormaspagamento().add(pagamentoVO); + + if (indexOf == -1){ + lsResultado.add(cajaDetalleVO); + } + } + + return lsResultado; + } public List buscarCajaCerrado(Date fecha, String cveusuario, String turnoid) { return buscarCajaCerrado(fecha, cveusuario, turnoid, false); diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java index 389b54fda..2d904462a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/SQLBuilder.java @@ -113,4 +113,6 @@ public interface SQLBuilder { * @return Retorna o valor gerado pela sequence do Numero de Operacao */ public String getSQLObterSequenciaNumOperacion(); + + public String getSQLBuscarDatosCaja(Date fechaDesde, Date fechaHasta); } diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java index 6e5b584d2..3e887e67c 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java @@ -885,6 +885,72 @@ public class SQLBuilderOracle implements SQLBuilder { return sb.toString(); } + @Override + public String getSQLBuscarDatosCaja(Date fechaDesde, Date fechaHasta) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + StringBuilder sb = new StringBuilder(""); + + + sb.append(" select "); + sb.append(" "); + sb.append(" c.CAJA_ID as \"cajaId\", "); + sb.append(" c.NUMASIENTO as \"numAsiento\", "); + sb.append(" c.CATEGORIA_ID as \"categoriaId\", "); + sb.append(" c.NUMFOLIOSISTEMA as \"numFolioSistema\", "); + sb.append(" c.CLASESERVICIO_ID as \"claseServicioId\", "); + sb.append(" c.MARCA_ID as \"marcaId\", "); + sb.append(" c.ORIGEN_ID as \"origenId\", "); + sb.append(" c.DESTINO_ID as \"destinoId\", "); + sb.append(" c.CORRIDA_ID as \"corridaId\", "); + sb.append(" c.FECCORRIDA as \"fecCorrida\", "); + sb.append(" c.NOMBPASAJERO as \"nombPasajero\", "); + sb.append(" c.PRECIOBASE as \"precioBase\", "); + sb.append(" c.PRECIOPAGADO as \"precioPagado\", "); + sb.append(" c.TIPOVENTA_ID as \"tipoVentaId\", "); + sb.append(" c.NUMSERIEPREIMPRESA as \"numSeriePreimpresa\", "); + sb.append(" c.NUMFOLIOPREIMPRESO as \"numFolioPreImpreso\", "); + sb.append(" c.FECHORVIAJE as \"fecHorViaje\", "); + sb.append(" c.FECHORVENTA as \"fecHorVenta\", "); + sb.append(" c.PUNTOVENTA_ID as \"puntoVentaId\", "); + sb.append(" pv.numpuntoventa as \"numPuntoVenta\", "); + sb.append(" c.NUMKMVIAJE as \"numKmViaje\", "); + sb.append(" c.NUMOPERACION as \"numOperacion\", "); + sb.append(" c.MOTIVOCANCELACION_ID as \"motivoCancelacionId\", "); + sb.append(" c.EMPRESAPUNTOVENTA_ID as \"empresaPuntoVentaId\", "); + sb.append(" c.EMPRESACORRIDA_ID as \"empresaCorridaId\", "); + sb.append(" c.TURNO_ID as \"turnoId\", "); + sb.append(" c.IMPORTETAXAEMBARQUE as \"importeTaxaEmbarque\", "); + sb.append(" c.IMPORTEPEDAGIO as \"importePedagio\", "); + sb.append(" c.IMPORTEOUTROS as \"importeOutros\", "); + sb.append(" c.IMPORTESEGURO as \"importeSeguro\", "); + sb.append(" co.ruta_id as \"rutaId\", "); + sb.append(" c.usuario_id as \"usuarioId\", "); + sb.append(" ct.numautorizacion as \"numAutorizacion\", "); + sb.append(" fp.DESCPAGO as \"descPago\", "); + sb.append(" fp.formapago_id as \"formaPagoId\", "); + sb.append(" cfp.importe as \"vlrFormaPago\", "); + sb.append(" ca.CVECATEGORIA as \"cveCategoria\", "); + sb.append(" mc.DESCMOTIVO as \"descMotivo\", "); + sb.append(" (case when cfp.formapago_id = 11 then cdp.numdocumento else null end) as \"ordenSevicio\" "); + sb.append(" "); + 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 "); + sb.append(" left join caja_formapago cfp on cfp.caja_id = c.caja_id "); + sb.append(" left join caja_det_pago cdp on cdp.cajaformapago_id = cfp.cajaformapago_id "); + sb.append(" left join caja_tarjeta ct on ct.cajadetpago_id = cdp.cajadetpago_id "); + sb.append(" left join punto_venta pv on pv.puntoventa_id = c.puntoventa_id "); + sb.append(" inner join forma_pago fp on fp.formapago_id = cfp.FORMAPAGO_ID "); + 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(" "); + 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')"); + sb.append(" order by c.fechorventa,c.usuario_id,c.caja_id asc "); + + return sb.toString(); + } @Override public String getSQLBuscarUsuariosCajaCerrado(Date fecha, String cveusuario, String turnoid) { diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java new file mode 100644 index 000000000..392ca46e4 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java @@ -0,0 +1,344 @@ +package com.rjconsultores.ventaboletos.vo.caja; + +import java.math.BigDecimal; +import java.util.ArrayList; +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.XmlTransient; + + +@XmlRootElement +public class CajaDetalleVO { + + private Long cajaId; + private String numAsiento; + private Integer categoriaId; + private String numFolioSistema; + private Integer claseServicioId; + private Integer marcaId; + private Integer origenId; + private Integer destinoId; + private Integer corridaId; + private Date fecCorrida; + private String nombPasajero; + private BigDecimal precioBase; + private BigDecimal precioPagado; + private Integer tipoVentaId; + private String numSeriePreimpresa; + private String numFolioPreImpreso; + private Date fecHorViaje; + private Date fecHorVenta; + private Integer puntoVentaId; + private String numPuntoVenta; + private BigDecimal numKmViaje; + private String numOperacion; + private Integer motivoCancelacionId; + private Integer empresaPuntoVentaId; + private Integer empresaCorridaId; + private Integer turnoId; + private BigDecimal importeTaxaEmbarque; + private BigDecimal importePedagio; + private BigDecimal importeOutros; + private BigDecimal importeSeguro; + private Integer rutaId; + private Integer usuarioId; + private String numAutorizacion; + private String ordenSevicio; + 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; + + + public Long getCajaId() { + return cajaId; + } + public void setCajaId(Long cajaId) { + this.cajaId = cajaId; + } + public String getNumAsiento() { + return numAsiento; + } + public void setNumAsiento(String numAsiento) { + this.numAsiento = numAsiento; + } + public Integer getCategoriaId() { + return categoriaId; + } + public void setCategoriaId(Integer categoriaId) { + this.categoriaId = categoriaId; + } + public String getNumFolioSistema() { + return numFolioSistema; + } + public void setNumFolioSistema(String numFolioSistema) { + this.numFolioSistema = numFolioSistema; + } + public Integer getClaseServicioId() { + return claseServicioId; + } + public void setClaseServicioId(Integer claseServicioId) { + this.claseServicioId = claseServicioId; + } + public Integer getMarcaId() { + return marcaId; + } + public void setMarcaId(Integer marcaId) { + this.marcaId = marcaId; + } + public Integer getOrigenId() { + return origenId; + } + public void setOrigenId(Integer origenId) { + this.origenId = origenId; + } + public Integer getDestinoId() { + return destinoId; + } + public void setDestinoId(Integer destinoId) { + this.destinoId = destinoId; + } + public Integer getCorridaId() { + return corridaId; + } + public void setCorridaId(Integer corridaId) { + this.corridaId = corridaId; + } + public Date getFecCorrida() { + return fecCorrida; + } + public void setFecCorrida(Date fecCorrida) { + this.fecCorrida = fecCorrida; + } + public String getNombPasajero() { + return nombPasajero; + } + public void setNombPasajero(String nombPasajero) { + this.nombPasajero = nombPasajero; + } + public BigDecimal getPrecioBase() { + return precioBase; + } + public void setPrecioBase(BigDecimal precioBase) { + this.precioBase = precioBase; + } + public BigDecimal getPrecioPagado() { + return precioPagado; + } + public void setPrecioPagado(BigDecimal precioPagado) { + this.precioPagado = precioPagado; + } + public Integer getTipoVentaId() { + return tipoVentaId; + } + public void setTipoVentaId(Integer tipoVentaId) { + this.tipoVentaId = tipoVentaId; + } + public String getNumSeriePreimpresa() { + return numSeriePreimpresa; + } + public void setNumSeriePreimpresa(String numSeriePreimpresa) { + this.numSeriePreimpresa = numSeriePreimpresa; + } + public String getNumFolioPreImpreso() { + return numFolioPreImpreso; + } + public void setNumFolioPreImpreso(String numFolioPreImpreso) { + this.numFolioPreImpreso = numFolioPreImpreso; + } + public Date getFecHorViaje() { + return fecHorViaje; + } + public void setFecHorViaje(Date fecHorViaje) { + this.fecHorViaje = fecHorViaje; + } + public Date getFecHorVenta() { + return fecHorVenta; + } + public void setFecHorVenta(Date fecHorVenta) { + this.fecHorVenta = fecHorVenta; + } + public Integer getPuntoVentaId() { + return puntoVentaId; + } + public void setPuntoVentaId(Integer puntoVentaId) { + this.puntoVentaId = puntoVentaId; + } + public BigDecimal getNumKmViaje() { + return numKmViaje; + } + public void setNumKmViaje(BigDecimal numKmViaje) { + this.numKmViaje = numKmViaje; + } + public String getNumOperacion() { + return numOperacion; + } + public void setNumOperacion(String numOperacion) { + this.numOperacion = numOperacion; + } + public Integer getMotivoCancelacionId() { + return motivoCancelacionId; + } + public void setMotivoCancelacionId(Integer motivoCancelacionId) { + this.motivoCancelacionId = motivoCancelacionId; + } + public Integer getEmpresaPuntoVentaId() { + return empresaPuntoVentaId; + } + public void setEmpresaPuntoVentaId(Integer empresaPuntoVentaId) { + this.empresaPuntoVentaId = empresaPuntoVentaId; + } + public Integer getEmpresaCorridaId() { + return empresaCorridaId; + } + public void setEmpresaCorridaId(Integer empresaCorridaId) { + this.empresaCorridaId = empresaCorridaId; + } + public Integer getTurnoId() { + return turnoId; + } + public void setTurnoId(Integer turnoId) { + this.turnoId = turnoId; + } + public BigDecimal getImporteTaxaEmbarque() { + return importeTaxaEmbarque; + } + public void setImporteTaxaEmbarque(BigDecimal importeTaxaEmbarque) { + this.importeTaxaEmbarque = importeTaxaEmbarque; + } + public BigDecimal getImportePedagio() { + return importePedagio; + } + public void setImportePedagio(BigDecimal importePedagio) { + this.importePedagio = importePedagio; + } + public BigDecimal getImporteOutros() { + return importeOutros; + } + public void setImporteOutros(BigDecimal importeOutros) { + this.importeOutros = importeOutros; + } + public BigDecimal getImporteSeguro() { + return importeSeguro; + } + public void setImporteSeguro(BigDecimal importeSeguro) { + this.importeSeguro = importeSeguro; + } + public Integer getRutaId() { + return rutaId; + } + public void setRutaId(Integer rutaId) { + this.rutaId = rutaId; + } + public Integer getUsuarioId() { + return usuarioId; + } + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + public String getNumAutorizacion() { + return numAutorizacion; + } + public void setNumAutorizacion(String numAutorizacion) { + this.numAutorizacion = numAutorizacion; + } + public String getOrdenSevicio() { + return ordenSevicio; + } + public void setOrdenSevicio(String ordenSevicio) { + this.ordenSevicio = ordenSevicio; + } + public String getNumPuntoVenta() { + return numPuntoVenta; + } + public void setNumPuntoVenta(String numPuntoVenta) { + this.numPuntoVenta = numPuntoVenta; + } + public String getUf() { + return uf; + } + public void setUf(String uf) { + this.uf = uf; + } + public String getDesccategoria() { + return desccategoria; + } + public void setDesccategoria(String desccategoria) { + this.desccategoria = desccategoria; + } + @XmlElementWrapper + @XmlElement(name = "pagamento", type = PagamentoVO.class) + public List getFormaspagamento() { + return formaspagamento; + } + public void setFormaspagamento(List formaspagamento) { + this.formaspagamento = formaspagamento; + } + public String getDescPago() { + return descPago; + } + public void setDescPago(String descPago) { + this.descPago = descPago; + } + public String getCveCategoria() { + return cveCategoria; + } + public void setCveCategoria(String cveCategoria) { + this.cveCategoria = cveCategoria; + } + + public Integer getFormaPagoId() { + return formaPagoId; + } + public void setFormaPagoId(Integer formaPagoId) { + this.formaPagoId = formaPagoId; + } + public BigDecimal getVlrFormaPago() { + return vlrFormaPago; + } + public void setVlrFormaPago(BigDecimal vlrFormaPago) { + this.vlrFormaPago = vlrFormaPago; + } + + + public String getDescMotivo() { + return descMotivo; + } + public void setDescMotivo(String descMotivo) { + this.descMotivo = descMotivo; + } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((cajaId == null) ? 0 : cajaId.hashCode()); + return result; + } + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CajaDetalleVO other = (CajaDetalleVO) obj; + if (cajaId == null) { + if (other.cajaId != null) + return false; + } else if (!cajaId.equals(other.cajaId)) + return false; + return true; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java new file mode 100644 index 000000000..f7016133a --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java @@ -0,0 +1,54 @@ +package com.rjconsultores.ventaboletos.vo.caja; + +import java.util.Date; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="cartao") +public class PagamentoCartaoVO { + + private String bandeira; + private String numautorizacao; + private Integer parcelas; + private String titular; + private String numcartao; + private Date datapagamento; + + 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; + } + public String getTitular() { + return titular; + } + public void setTitular(String titular) { + this.titular = titular; + } + public String getNumcartao() { + return numcartao; + } + public void setNumcartao(String numcartao) { + this.numcartao = numcartao; + } + public Date getDatapagamento() { + return datapagamento; + } + public void setDatapagamento(Date datapagamento) { + this.datapagamento = datapagamento; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java new file mode 100644 index 000000000..bc6a9f603 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java @@ -0,0 +1,60 @@ +package com.rjconsultores.ventaboletos.vo.caja; + +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", "cartao"}) +public class PagamentoVO { + + private String formapagamento; + private String moeda; + private BigDecimal valor; + private PagamentoCartaoVO cartao; + private Integer formapagoId; + + + 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; + } + + @XmlTransient + public Integer getFormapagoId() { + return formapagoId; + } + + public void setFormapagoId(Integer formapagoId) { + this.formapagoId = formapagoId; + } +} diff --git a/src/com/rjconsultores/ventaboletos/ws/rs/CajaRS.java b/src/com/rjconsultores/ventaboletos/ws/rs/CajaRS.java index a6bc21f56..ef74d3f9f 100644 --- a/src/com/rjconsultores/ventaboletos/ws/rs/CajaRS.java +++ b/src/com/rjconsultores/ventaboletos/ws/rs/CajaRS.java @@ -13,11 +13,13 @@ import javax.ws.rs.core.MediaType; import org.apache.commons.lang.StringUtils; import com.rjconsultores.ventaboletos.dao.CajaDAO; +import com.rjconsultores.ventaboletos.vo.caja.CajaDetalleVO; import com.rjconsultores.ventaboletos.vo.caja.CajaVO; import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; -@Path("/cajas") +@Path("/") public class CajaRS { + @Path("/cajas") @GET @Produces({ MediaType.APPLICATION_XML }) public List buscarCaja(@QueryParam("yaCerrado") boolean yaCerrado, @QueryParam("fecDesde") String fecDesde, @QueryParam("fecHasta") String fecHasta) { @@ -43,4 +45,31 @@ public class CajaRS { return list; } + @Path("/detalleCajas") + @GET + @Produces({ MediaType.APPLICATION_XML }) + public List buscarDetalleCaja(@QueryParam("fecDesde") String fecDesde, @QueryParam("fecHasta") String fecHasta) { + + SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); + + Date fecDesdeD = new Date(); + Date fecHastaD = new Date(); + + try { + fecDesdeD = StringUtils.isBlank(fecDesde) ? new Date() : sdf.parse(fecDesde); + } catch (Exception e) { + + } + try { + fecHastaD = StringUtils.isBlank(fecHasta) ? new Date() : sdf.parse(fecHasta); + } catch (Exception e) { + + } + + CajaDAO cajaDAO = (CajaDAO) AppContext.getApplicationContext().getBean("cajaDAO"); + List list = cajaDAO.buscarDetalleCaja(fecDesdeD, fecHastaD); + + return list; + } + }