diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java new file mode 100644 index 000000000..c7f60ba72 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java @@ -0,0 +1,180 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.slf4j.Logger; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasParcelamentoBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioVendasParcelamento extends Relatorio { + + private static Logger log = org.slf4j.LoggerFactory.getLogger(RelatorioVendasParcelamento.class); + + private List lsDadosRelatorio; + + public RelatorioVendasParcelamento(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; + String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; + String parcInicio = parametros.get("parInicial").toString(); + String parcFinal = parametros.get("parFinal").toString(); + String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : "-1"; + String empresaNome = parametros.get("empresaNome") != null ? parametros.get("empresaNome").toString() : ""; + String puntoVenta = parametros.get("NUMPUNTOVENTA") != null ? parametros.get("NUMPUNTOVENTA").toString() : null; + + lsDadosRelatorio = new ArrayList(); + + String sql = carregarVendasComParcelamento(puntoVenta, empresa); + + log.debug(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset1 = null; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + + stmt.setInt("parcIni", Integer.parseInt(parcInicio)); + stmt.setInt("parcFim", Integer.parseInt(parcFinal)); + + if (empresa != null && !empresa.equals("-1")) { + stmt.setInt("empresaId", Integer.parseInt(empresa)); + } + + rset1= stmt.executeQuery(); + + while (rset1.next()) { + + RelatorioVendasParcelamentoBean vendasParcelamento = new RelatorioVendasParcelamentoBean(); + BigDecimal percentual = BigDecimal.ZERO; + + vendasParcelamento.setEmpresaNome(empresaNome); + vendasParcelamento.setEmpresa(rset1.getString("empresa")); + vendasParcelamento.setAgencia(rset1.getString("agencia")); + vendasParcelamento.setBilheteiro(rset1.getString("bilheteiro")); + vendasParcelamento.setDataVenda((Date)rset1.getObject("dataVenda")); + vendasParcelamento.setDataServico((Date) rset1.getObject("dataServico")); + vendasParcelamento.setLinha(rset1.getString("linha")); + vendasParcelamento.setServico(rset1.getString("servico")); + vendasParcelamento.setOrigem(rset1.getString("origem")); + vendasParcelamento.setDestino(rset1.getString("destino")); + vendasParcelamento.setBilhete(rset1.getString("bilhete")); + vendasParcelamento.setPreImpresso(rset1.getString("preImpresso")); + vendasParcelamento.setPoltrona(rset1.getString("poltrona")); + vendasParcelamento.setTarifa(rset1.getBigDecimal("tarifa")); + vendasParcelamento.setSeguro(rset1.getBigDecimal("seguro")); + vendasParcelamento.setPedagio(rset1.getBigDecimal("pedagio")); + vendasParcelamento.setTaxa(rset1.getBigDecimal("taxa")); + vendasParcelamento.setOutros(rset1.getBigDecimal("outros")); + vendasParcelamento.setTotal(rset1.getBigDecimal("total")); + vendasParcelamento.setFormaPagamento(rset1.getString("formaPagamento")); + vendasParcelamento.setAutorizacao(rset1.getString("autorizacao")); + vendasParcelamento.setNsu(rset1.getString("nsu")); + vendasParcelamento.setParcelas(rset1.getString("parcelas")); + vendasParcelamento.setValor(rset1.getBigDecimal("valor")); + + percentual = (vendasParcelamento.getValor().multiply( new BigDecimal("100") )); + percentual = (percentual.divide(vendasParcelamento.getTotal(), BigDecimal.ROUND_HALF_UP)); + vendasParcelamento.setPercentual(percentual.setScale(2)); + + lsDadosRelatorio.add(vendasParcelamento); + } + + rset1.close(); + + if (lsDadosRelatorio.size() > 0) { + setLsDadosRelatorio(lsDadosRelatorio); + } + + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String carregarVendasComParcelamento(String puntoVenta, String empresa) { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT m.DESCMARCA AS empresa, "); + sql.append(" pv.PUNTOVENTA_ID AS agencia, "); + sql.append(" u.CVEUSUARIO AS bilheteiro, "); + sql.append(" c.FECHORVENTA AS dataVenda, "); + sql.append(" co.FECCORRIDA AS dataServico, "); + sql.append(" r.NUMRUTA AS linha, "); + sql.append(" co.corrida_id AS servico, "); + sql.append(" orig.DESCPARADA AS origem, "); + sql.append(" dest.DESCPARADA AS destino, "); + sql.append(" c.NUMFOLIOSISTEMA AS bilhete, "); + sql.append(" c.NUMFOLIOPREIMPRESO AS preImpresso, "); + sql.append(" c.NUMASIENTO AS poltrona, "); + sql.append(" COALESCE(c.PRECIOPAGADO,0) AS tarifa, "); + sql.append(" COALESCE(c.IMPORTESEGURO,0) AS seguro, "); + sql.append(" COALESCE(c.IMPORTEPEDAGIO,0) AS pedagio, "); + sql.append(" COALESCE(c.IMPORTETAXAEMBARQUE,0) AS taxa, "); + sql.append(" COALESCE(c.IMPORTEOUTROS,0) AS outros, "); + sql.append(" ( COALESCE(c.IMPORTESEGURO,0)+ COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.PRECIOPAGADO,0)) AS total, "); + sql.append(" ct.tipotarjeta AS formaPagamento, "); + sql.append(" ct.numautorizacion AS autorizacao, "); + sql.append(" ct.NSU AS nsu, "); + sql.append(" ct.cantparcelas AS parcelas, "); + sql.append(" ct.importe AS valor "); + sql.append(" FROM caja c "); + sql.append(" INNER JOIN PUNTO_VENTA pv ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" INNER JOIN marca m ON m.marca_id = c.marca_id "); + sql.append(" INNER JOIN usuario u ON c.USUARIO_ID = u.USUARIO_ID "); + sql.append(" INNER JOIN ruta r ON c.RUTA_ID = r.RUTA_ID "); + sql.append(" INNER JOIN corrida co ON co.corrida_id = c.corrida_id AND co.feccorrida = c.feccorrida "); + sql.append(" INNER JOIN parada orig ON orig.PARADA_ID = co.ORIGEN_ID "); + sql.append(" INNER JOIN parada dest ON dest.PARADA_ID = co.DESTINO_ID "); + sql.append(" INNER JOIN caja_formapago cfp ON cfp.caja_id = c.caja_id "); + sql.append(" INNER JOIN caja_det_pago cdp ON cdp.cajaformapago_id = cfp.cajaformapago_id "); + sql.append(" INNER JOIN caja_tarjeta ct ON ct.cajadetpago_id = cdp.cajadetpago_id "); + sql.append(" WHERE "); + sql.append(" fechorventa BETWEEN :de AND :ate "); + sql.append(" AND ct.CANTPARCELAS BETWEEN :parcIni AND :parcFim "); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVenta + ") "); + } + + if (empresa != null && !empresa.equals("-1")) { + sql.append(" AND m.empresa_id = :empresaId "); + } + sql.append(" AND c.motivocancelacion_id IS NULL "); + sql.append(" ORDER BY m.DESCMARCA, "); + sql.append(" pv.PUNTOVENTA_ID, "); + sql.append(" c.fechorventa ASC "); + + return sql.toString(); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_es.properties new file mode 100644 index 000000000..c5b9d9943 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_es.properties @@ -0,0 +1,39 @@ +#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) +#geral + +detail.agencia = AG\u00CANCIA +detail.autorizacao = Autorizaci\u00F3n +detail.bilhete = Billete +detail.bilheteiro = Billetero +detail.dataservico = Fecha Servicio +detail.datavenda = Fecha Venta +detail.destino = Destino +detail.empresa = Empresa +detail.formapagamento = Forma pgto. +detail.linha = L\u00EDnea +detail.nsu = Nsu +detail.origem = Origem +detail.outros = Otros +detail.parcelas = Parcelas +detail.pedagio = Peaje +detail.percentual = Porcentaje +detail.poltrona = Sill\u00F3n +detail.preimpresso = Pre-Impreso +detail.seguro = Seguro +detail.servico = Servicio +detail.tarifa = Tarifa +detail.taxa = Tasa +detail.total = Total +detail.valor = Valor + +#Labels header +header.data = Data : +header.data.hora = Fecha / Hora: +header.descricao = Descri\u00E7\u00E3o +header.empresa = Empresa : +header.pagina = P\u00E1gina + +linhas = Linhas + +msg.a = a +msg.noData = No se pudo obtener datos con los par\u00E1metros reportados. diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_pt_BR.properties new file mode 100644 index 000000000..396684b5a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasParcelamento_pt_BR.properties @@ -0,0 +1,39 @@ +#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) +#geral + +detail.agencia = Ag\u00EAncia +detail.autorizacao = Autoriza\u00E7\u00E3o +detail.bilhete = Bilhete +detail.bilheteiro = Bilheteiro +detail.dataservico = Data Servi\u00E7o +detail.datavenda = Data Venda +detail.destino = Destino +detail.empresa = Empresa +detail.formapagamento = Forma pgto. +detail.linha = Linha +detail.nsu = Nsu +detail.origem = Origem +detail.outros = Outros +detail.parcelas = Parcelas +detail.pedagio = Ped\u00E1gio +detail.percentual = Percentual +detail.poltrona = Poltrona +detail.preimpresso = Pr\u00E9 Impresso +detail.seguro = Seguro +detail.servico = Servi\u00E7o +detail.tarifa = Tarifa +detail.taxa = Taxa +detail.total = Total +detail.valor = Valor + +#Labels header +header.data = Data : +header.data.hora = Data/Hora: +header.descricao = Descri\u00E7\u00E3o +header.empresa = Empresa : +header.pagina = P\u00E1gina + +linhas = Linhas + +msg.a = a +msg.noData = No se pudo obtener datos con los par\u00E1metros reportados. diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper index 5b96925c3..ef60d8b67 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jasper new file mode 100644 index 000000000..cc49e28e5 Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jrxml new file mode 100644 index 000000000..4c7283b8d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasParcelamento.jrxml @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasParcelamentoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasParcelamentoBean.java new file mode 100644 index 000000000..3b7b57a1a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasParcelamentoBean.java @@ -0,0 +1,234 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Date; + +public class RelatorioVendasParcelamentoBean { + private String empresaNome; + private String empresa; + private String agencia; + private String bilheteiro; + private Date dataVenda; + private Date dataServico; + private String linha; + private String servico; + private String origem; + private String destino; + private String bilhete; + private String preImpresso; + private String poltrona; + private BigDecimal tarifa; + private BigDecimal seguro; + private BigDecimal pedagio; + private BigDecimal taxa; + private BigDecimal outros; + private BigDecimal total; + private BigDecimal percentual; + private String formaPagamento; + private String autorizacao; + private String nsu; + private String parcelas; + private BigDecimal valor; + + public String getEmpresaNome() { + return empresaNome; + } + + public void setEmpresaNome(String empresaNome) { + this.empresaNome = empresaNome; + } + + public String getEmpresa() { + return empresa; + } + + public void setEmpresa(String empresa) { + this.empresa = empresa; + } + + public String getAgencia() { + return agencia; + } + + public void setAgencia(String agencia) { + this.agencia = agencia; + } + + public String getBilheteiro() { + return bilheteiro; + } + + public void setBilheteiro(String bilheteiro) { + this.bilheteiro = bilheteiro; + } + + public Date getDataVenda() { + return dataVenda; + } + + public void setDataVenda(Date dataVenda) { + this.dataVenda = dataVenda; + } + + public Date getDataServico() { + return dataServico; + } + + public void setDataServico(Date dataServico) { + this.dataServico = dataServico; + } + + public String getLinha() { + return linha; + } + + public void setLinha(String linha) { + this.linha = linha; + } + + public String getServico() { + return servico; + } + + public void setServico(String servico) { + this.servico = servico; + } + + public String getOrigem() { + return origem; + } + + public void setOrigem(String origem) { + this.origem = origem; + } + + public String getDestino() { + return destino; + } + + public void setDestino(String destino) { + this.destino = destino; + } + + public String getBilhete() { + return bilhete; + } + + public void setBilhete(String bilhete) { + this.bilhete = bilhete; + } + + public String getPreImpresso() { + return preImpresso; + } + + public void setPreImpresso(String preImpresso) { + this.preImpresso = preImpresso; + } + + public String getPoltrona() { + return poltrona; + } + + public void setPoltrona(String poltrona) { + this.poltrona = poltrona; + } + + public BigDecimal getTarifa() { + return tarifa; + } + + public void setTarifa(BigDecimal tarifa) { + this.tarifa = tarifa; + } + + public BigDecimal getSeguro() { + return seguro; + } + + public void setSeguro(BigDecimal seguro) { + this.seguro = seguro; + } + + public BigDecimal getPedagio() { + return pedagio; + } + + public void setPedagio(BigDecimal pedagio) { + this.pedagio = pedagio; + } + + public BigDecimal getTaxa() { + return taxa; + } + + public void setTaxa(BigDecimal taxa) { + this.taxa = taxa; + } + + public BigDecimal getOutros() { + return outros; + } + + public void setOutros(BigDecimal outros) { + this.outros = outros; + } + + public BigDecimal getTotal() { + return total; + } + + public void setTotal(BigDecimal total) { + this.total = total; + } + + public BigDecimal getPercentual() { + return percentual; + } + + public void setPercentual(BigDecimal percentual) { + this.percentual = percentual; + } + + public String getFormaPagamento() { + return formaPagamento; + } + + public void setFormaPagamento(String formaPagamento) { + this.formaPagamento = formaPagamento; + } + + public String getAutorizacao() { + return autorizacao; + } + + public void setAutorizacao(String autorizacao) { + this.autorizacao = autorizacao; + } + + public String getNsu() { + return nsu; + } + + public void setNsu(String nsu) { + this.nsu = nsu; + } + + public String getParcelas() { + return parcelas; + } + + public void setParcelas(String parcelas) { + this.parcelas = parcelas; + } + + public BigDecimal getValor() { + return valor; + } + + public void setValor(BigDecimal valor) { + this.valor = valor; + } + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasParcelamentoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasParcelamentoController.java new file mode 100644 index 000000000..5555c7189 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasParcelamentoController.java @@ -0,0 +1,190 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Bandbox; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasParcelamento; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; + +@Controller("relatorioVendasParcelamentoController") +@Scope("prototype") +public class RelatorioVendasParcelamentoController extends MyGenericForwardComposer { + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(RelatorioVendasParcelamentoController.class); + + @Autowired + private DataSource dataSourceRead; + @Autowired + private EmpresaService empresaService; + + private Datebox datInicial; + private Datebox datFinal; + private Intbox parInicial; + private Intbox parFinal; + private MyComboboxEstandar cmbEmpresa; + private Bandbox bbPesquisaPuntoVenta; + @Autowired + private transient PagedListWrapper plwPuntoVenta; + private MyTextbox txtNombrePuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + + private List lsEmpresas; + + @SuppressWarnings({ "unchecked", "rawtypes" }) + private void executarRelatorio() throws Exception { + try { + Map parametros = new HashMap(); + + Empresa empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa)cmbEmpresa.getSelectedItem().getValue() : null; + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + parametros.put("fecInicio", sdf.format(this.datInicial.getValue())); + parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); + parametros.put("parInicial", this.parInicial.getValue()); + parametros.put("parFinal", this.parFinal.getValue()); + if (empresa != null){ + parametros.put("empresa", empresa.getEmpresaId()); + parametros.put("empresaNome", empresa.getNombempresa()); + } + parametros.put("TITULO", Labels.getLabel("indexController.mniRelatorioVendasParcelamento.label")); + + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + puntoVentas = "Todas"; + } else { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + // removendo ultima virgula + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + } + + Relatorio relatorio = new RelatorioVendasParcelamento(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("indexController.mniRelatorioVendasParcelamento.label"), args, MODAL); + }catch (Exception e) { + log.error(e); + throw e; + } + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresas = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = + new HibernateSearchObject(PuntoVenta.class, pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVenta); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVenta); + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + + bbPesquisaPuntoVenta.setText(""); + } + + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasParcelamento.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasParcelamento.java new file mode 100644 index 000000000..ce077d0f7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasParcelamento.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioVendasParcelamento extends DefaultItemMenuSistema { + + public ItemMenuRelatorioVendasParcelamento() { + super("indexController.mniRelatorioVendasParcelamento.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDASPARCELAMENTO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendasParcelamento.zul", + Labels.getLabel("relatorioVendasParcelamentoController.window.title"), getArgs() ,desktop); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 3dd664715..f90ed5257 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -181,6 +181,7 @@ analitico.gerenciais.financeiro.relatorioPosicaoCaixaAnalitico=com.rjconsultores analitico.gerenciais.financeiro.relatorioFormaPagamentoAgencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFormaPagamentoAgencia analitico.gerenciais.financeiro.relatorioFinanceiroGrupoLinhas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFinanceiroGrupoLinhas analitico.gerenciais.financeiro.relatorioVendasPTA=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPTA +analitico.gerenciais.financeiro.relatorioVendasParcelamento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasParcelamento analitico.gerenciais.financeiro.relatorioServicoBloqueadoVendaInternet=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioServicoBloqueadoVendaInternet analitico.gerenciais.financeiro.relatorioDocumentosFiscais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDocumentosFiscais analitico.gerenciais.pacote=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.pacote.SubMenuRelatorioPacote diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index a2179e13f..2bad94665 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -288,6 +288,7 @@ indexController.mniRecebimentoMalote.label = Recibimiento Maleta indexController.mniRelatorioObservacaoConferenciaMovimento.label = Observación conferencia movimientos indexController.mniRelatorioErrosIntegracaoBGMController.label = Listar errores BGM indexController.mniRelatorioVendasPTAController.label = Ventas PTA +indexController.mniRelatorioVendasParcelamento.label=Ventas con Parcelamiento indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Corrida bloqueada en venta internet indexController.mniRelatorioDocumentosFiscais.label = Report Documentos Fiscais @@ -7125,4 +7126,15 @@ relatorioFinanceiroReceitasDespesasController.lb.detalhado = Detalhado relatorioFinanceiroReceitasDespesasController.lb.sintetico = Sintético relatorioFinanceiroReceitasDespesasController.lb.agencia = Por Agência relatorioFinanceiroReceitasDespesasController.lb.evento = Por Evento -relatorioFinanceiroReceitasDespesasController.lbEventoExtra.value = Evento \ No newline at end of file +relatorioFinanceiroReceitasDespesasController.lbEventoExtra.value = Evento + +# Relatório Vendas com Parcelamento +relatorioVendasParcelamentoController.window.title = Ventas con Parcelamiento +relatorioVendasParcelamentoController.lbDataFin.value = Fecha Final +relatorioVendasParcelamentoController.lbDataIni.value = Fecha Inicio +relatorioVendasParcelamentoController.lbParcelas.value = Parcelas +relatorioVendasParcelamentoController.lbate.value = Hasta +relatorioVendasParcelamentoController.lbEmpresa.value = Empresa +relatorioVendasParcelamentoController.lbOnibus.value = Autobus +relatorioVendasParcelamentoController.lbPuntoVenta.value = Agência +relatorioVendasParcelamentoController.lbResumo.value = Resumo \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 8e804dbaa..8c2510a8d 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -305,6 +305,7 @@ indexController.mniRecebimentoMalote.label = Recebimento Malote indexController.mniRelatorioObservacaoConferenciaMovimento.label = Movimentos com Observação indexController.mniRelatorioErrosIntegracaoBGMController.label = Listar Erros BGM indexController.mniRelatorioVendasPTA.label = Vendas PTA +indexController.mniRelatorioVendasParcelamento.label=Vendas com Parcelamento indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Serviço Bloqueado na Venda Internet indexController.mniRelatorioDocumentosFiscais.label = Relatório Documentos Fiscais @@ -7619,4 +7620,16 @@ indexController.mniRelatorioBaixasVendasInternet.label=Baixas Vendas Internet relatorioBaixasVendasInternetController.window.title=Relatório de Baixas Vendas Internet relatorioBaixasVendasInternetController.lbFecInicio.value=Data Início relatorioBaixasVendasInternetController.lbFecFinal.value=Data Fim -relatorioBaixasVendasInternetController.lbPuntoVenta.value=Ponto de Venda \ No newline at end of file +relatorioBaixasVendasInternetController.lbPuntoVenta.value=Ponto de Venda + +# Relatório Vendas com Parcelamento + +relatorioVendasParcelamentoController.window.title = Vendas com Parcelamento +relatorioVendasParcelamentoController.lbDataFin.value = Data Final +relatorioVendasParcelamentoController.lbDataIni.value = Data Inicial +relatorioVendasParcelamentoController.lbParcelas.value = Parcelas +relatorioVendasParcelamentoController.lbate.value = até +relatorioVendasParcelamentoController.lbEmpresa.value = Empresa +relatorioVendasParcelamentoController.lbOnibus.value = Ônibus +relatorioVendasParcelamentoController.lbPuntoVenta.value = Agência +relatorioVendasParcelamentoController.lbResumo.value = Resumo \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioVendasParcelamento.zul b/web/gui/relatorios/filtroRelatorioVendasParcelamento.zul new file mode 100644 index 000000000..6dc091fc5 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendasParcelamento.zul @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + +