fixes bug#15657
dev: qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@98108 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
e312e8a666
commit
01f87ded8f
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Caja;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.Marca;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
||||
|
@ -16,6 +17,7 @@ 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;
|
||||
import com.rjconsultores.ventaboletos.vo.cashmonitor.RelatorioVendaCartaoCashMonitorVO;
|
||||
|
||||
public interface CajaDAO {
|
||||
public List<CajaVO> buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta);
|
||||
|
@ -32,4 +34,6 @@ public interface CajaDAO {
|
|||
|
||||
public Integer atualizaCajasIntegracaoTotvs(Marca marca, Date dataIncial, Date dataFinal, PuntoVenta puntoVenta) throws BusinessException;
|
||||
|
||||
public List<RelatorioVendaCartaoCashMonitorVO> buscarVendaCartaoCashMonitor(Date dataIncial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
@ -28,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import com.rjconsultores.ventaboletos.dao.CajaDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
|
||||
import com.rjconsultores.ventaboletos.entidad.Caja;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.Marca;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.enums.TipoFormapago;
|
||||
|
@ -40,6 +42,7 @@ import com.rjconsultores.ventaboletos.utilerias.OcdUtil;
|
|||
import com.rjconsultores.ventaboletos.vo.busquedapacotes.DadosBancarioVO;
|
||||
import com.rjconsultores.ventaboletos.vo.busquedapacotes.NotaCreditoVendaPacoteVO;
|
||||
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosDadosBancarioResultTransformer;
|
||||
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.RelatorioVendaCartaoCashMonitorResultTransformer;
|
||||
import com.rjconsultores.ventaboletos.vo.caja.CajaCerradoVO;
|
||||
import com.rjconsultores.ventaboletos.vo.caja.CajaDetalleVO;
|
||||
import com.rjconsultores.ventaboletos.vo.caja.CajaVO;
|
||||
|
@ -48,6 +51,7 @@ 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;
|
||||
import com.rjconsultores.ventaboletos.vo.cashmonitor.RelatorioVendaCartaoCashMonitorVO;
|
||||
|
||||
@Repository("cajaDAO")
|
||||
@SuppressWarnings("unchecked")
|
||||
|
@ -641,4 +645,60 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RelatorioVendaCartaoCashMonitorVO> buscarVendaCartaoCashMonitor(Date dataIncial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta) {
|
||||
SimpleDateFormat formatadorData = new SimpleDateFormat("dd/MM/yyyy");
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("select to_char(ct.fecoperacion, 'dd/mm/yyyy') as data_transacao, ");
|
||||
sql.append("pv.nombpuntoventa as loja, ");
|
||||
sql.append("ct.nombtitular as adquirente, ");
|
||||
sql.append("ct.nsu as nsu, ");
|
||||
sql.append("ct.numautorizacion as autorizacao, ");
|
||||
sql.append("sum(cfp.importe) as valor_bruto, ");
|
||||
sql.append("fp.formapago_id as formapago_id, ");
|
||||
sql.append("ct.tipotarjeta as bandeira, ");
|
||||
sql.append("c.numoperacion as codigo_pedido, ");
|
||||
sql.append("cfp.importe valor_parcela, ");
|
||||
sql.append("count(ct.cajatarjeta_id) as parcelas ");
|
||||
sql.append("from caja c ");
|
||||
sql.append("inner join caja_formapago cfp on c.caja_id = cfp.caja_id and cfp.activo = 1 ");
|
||||
sql.append("inner join marca ma on ma.marca_id = c.marca_id ");
|
||||
sql.append("inner join forma_pago fp on cfp.formapago_id = fp.formapago_id ");
|
||||
sql.append("inner join caja_det_pago cdp on c.caja_id = cdp.caja_id and cdp.cajaformapago_id = cfp.cajaformapago_id ");
|
||||
sql.append("inner join caja_tarjeta ct on ct.cajadetpago_id = cdp.cajadetpago_id ");
|
||||
sql.append("inner join punto_venta pv on pv.puntoventa_id = c.puntoventa_id ");
|
||||
sql.append("where c.activo = 1 ");
|
||||
sql.append("and c.indreimpresion = 0 ");
|
||||
sql.append("and fp.formapago_id in (2, 3) "); // Débito e Crédito
|
||||
sql.append("and ct.fecoperacion between to_date('" + formatadorData.format(dataIncial) + " 00:00', 'dd/mm/yyyy hh24:mi') and to_date('" + formatadorData.format(dataFinal) + " 23:59', 'dd/mm/yyyy hh24:mi') ");
|
||||
|
||||
if (empresa!=null) {
|
||||
sql.append(" and ma.empresa_id = " + empresa.getEmpresaId());
|
||||
}
|
||||
|
||||
if (puntoVenta!=null) {
|
||||
sql.append(" and c.puntoventa_id = " + puntoVenta.getPuntoventaId());
|
||||
}
|
||||
|
||||
sql.append(" group by to_char(ct.fecoperacion, 'dd/mm/yyyy'), pv.nombpuntoventa, ct.nombtitular, ct.nsu, ct.numautorizacion, fp.formapago_id, ct.tipotarjeta, c.numoperacion, cfp.importe");
|
||||
sql.append(" order by 1, 2, 3, 4, 5");
|
||||
|
||||
SQLQuery query = getSession().createSQLQuery(sql.toString())
|
||||
.addScalar("data_transacao", StringType.INSTANCE)
|
||||
.addScalar("loja", StringType.INSTANCE)
|
||||
.addScalar("adquirente", StringType.INSTANCE)
|
||||
.addScalar("nsu", StringType.INSTANCE)
|
||||
.addScalar("autorizacao", StringType.INSTANCE)
|
||||
.addScalar("valor_bruto", BigDecimalType.INSTANCE)
|
||||
.addScalar("formapago_id", IntegerType.INSTANCE)
|
||||
.addScalar("bandeira", StringType.INSTANCE)
|
||||
.addScalar("codigo_pedido", StringType.INSTANCE)
|
||||
.addScalar("valor_parcela", BigDecimalType.INSTANCE)
|
||||
.addScalar("parcelas", IntegerType.INSTANCE);
|
||||
|
||||
query.setResultTransformer(new RelatorioVendaCartaoCashMonitorResultTransformer());
|
||||
|
||||
return query.list();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.rjconsultores.ventaboletos.enums;
|
||||
|
||||
public enum RelatorioVendaCartaoCashMonitorModeloEnum {
|
||||
|
||||
COM_VALORES_TOTAIS_VENDAS("Com valores totais das vendas"), ABERTO_POR_PARCELAS("Aberto por parcelas");
|
||||
|
||||
private String descricao;
|
||||
|
||||
private RelatorioVendaCartaoCashMonitorModeloEnum(String descricao) {
|
||||
this.descricao = descricao;
|
||||
}
|
||||
|
||||
public String getDescricao() {
|
||||
return descricao;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getDescricao();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.transform.ResultTransformer;
|
||||
|
||||
import com.rjconsultores.ventaboletos.vo.cashmonitor.RelatorioVendaCartaoCashMonitorVO;
|
||||
|
||||
public class RelatorioVendaCartaoCashMonitorResultTransformer implements ResultTransformer {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public List<RelatorioVendaCartaoCashMonitorVO> transformList(List mapList) {
|
||||
List<RelatorioVendaCartaoCashMonitorVO> listaVO = new ArrayList<RelatorioVendaCartaoCashMonitorVO>();
|
||||
|
||||
for (Object object : mapList) {
|
||||
Map<String, Object> tupleMap = (Map<String, Object>) object;
|
||||
RelatorioVendaCartaoCashMonitorVO vo = new RelatorioVendaCartaoCashMonitorVO();
|
||||
vo.setDataTransacao((String) tupleMap.get("data_transacao"));
|
||||
vo.setLoja((String) tupleMap.get("loja"));
|
||||
vo.setAdquirente((String) tupleMap.get("adquirente"));
|
||||
vo.setNsu((String) tupleMap.get("nsu"));
|
||||
vo.setAutorizacao((String) tupleMap.get("autorizacao"));
|
||||
vo.setValorBruto((BigDecimal) tupleMap.get("valor_bruto"));
|
||||
vo.setFormapago_id((Integer) tupleMap.get("formapago_id"));
|
||||
vo.setBandeira((String) tupleMap.get("bandeira"));
|
||||
vo.setCodigoPedido((String) tupleMap.get("codigo_pedido"));
|
||||
vo.setValorParcela((BigDecimal) tupleMap.get("valor_parcela"));
|
||||
vo.setParcelas((Integer) tupleMap.get("parcelas"));
|
||||
|
||||
listaVO.add(vo);
|
||||
}
|
||||
|
||||
return listaVO;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
package com.rjconsultores.ventaboletos.vo.cashmonitor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class RelatorioVendaCartaoCashMonitorVO implements Serializable {
|
||||
|
||||
private String dataTransacao;
|
||||
private String loja;
|
||||
private String adquirente;
|
||||
private String nsu;
|
||||
private String autorizacao;
|
||||
private BigDecimal valorBruto;
|
||||
private Integer formapago_id;
|
||||
private String bandeira;
|
||||
private String codigoPedido;
|
||||
private BigDecimal valorParcela;
|
||||
private Integer parcelas;
|
||||
|
||||
public String getDataTransacao() {
|
||||
return dataTransacao;
|
||||
}
|
||||
|
||||
public String getLoja() {
|
||||
return loja;
|
||||
}
|
||||
|
||||
public String getAdquirente() {
|
||||
return adquirente;
|
||||
}
|
||||
|
||||
public String getNsu() {
|
||||
return nsu;
|
||||
}
|
||||
|
||||
public String getAutorizacao() {
|
||||
return autorizacao;
|
||||
}
|
||||
|
||||
public BigDecimal getValorBruto() {
|
||||
return valorBruto;
|
||||
}
|
||||
|
||||
public Integer getFormapago_id() {
|
||||
return formapago_id;
|
||||
}
|
||||
|
||||
public String getBandeira() {
|
||||
return bandeira;
|
||||
}
|
||||
|
||||
public String getCodigoPedido() {
|
||||
return codigoPedido;
|
||||
}
|
||||
|
||||
public BigDecimal getValorParcela() {
|
||||
return valorParcela;
|
||||
}
|
||||
|
||||
public Integer getParcelas() {
|
||||
return parcelas;
|
||||
}
|
||||
|
||||
public void setDataTransacao(String dataTransacao) {
|
||||
this.dataTransacao = dataTransacao;
|
||||
}
|
||||
|
||||
public void setLoja(String loja) {
|
||||
this.loja = loja;
|
||||
}
|
||||
|
||||
public void setAdquirente(String adquirente) {
|
||||
this.adquirente = adquirente;
|
||||
}
|
||||
|
||||
public void setNsu(String nsu) {
|
||||
this.nsu = nsu;
|
||||
}
|
||||
|
||||
public void setAutorizacao(String autorizacao) {
|
||||
this.autorizacao = autorizacao;
|
||||
}
|
||||
|
||||
public void setValorBruto(BigDecimal valorBruto) {
|
||||
this.valorBruto = valorBruto;
|
||||
}
|
||||
|
||||
public void setFormapago_id(Integer formapago_id) {
|
||||
this.formapago_id = formapago_id;
|
||||
}
|
||||
|
||||
public void setBandeira(String bandeira) {
|
||||
this.bandeira = bandeira;
|
||||
}
|
||||
|
||||
public void setCodigoPedido(String codigoPedido) {
|
||||
this.codigoPedido = codigoPedido;
|
||||
}
|
||||
|
||||
public void setValorParcela(BigDecimal valorParcela) {
|
||||
this.valorParcela = valorParcela;
|
||||
}
|
||||
|
||||
public void setParcelas(Integer parcelas) {
|
||||
this.parcelas = parcelas;
|
||||
}
|
||||
|
||||
public String getCondicaoVenda() {
|
||||
// Espec01 - Relatorio de vendas de cartões.docx
|
||||
// CONDICAO DE VENDA: débito/a vista/parcelada
|
||||
if (getFormapago_id()==3) {
|
||||
return "débito";
|
||||
} else {
|
||||
if (getParcelas() == 1) {
|
||||
return "a vista";
|
||||
} else {
|
||||
return "parcelada";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue