From 5a2401a6b7d9d4d90ec8d51b62e6cfe842bb79b4 Mon Sep 17 00:00:00 2001 From: wilian Date: Thu, 11 Jun 2015 21:57:31 +0000 Subject: [PATCH] fixes bug #6369 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44950 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasPacotesResumido.java | 232 ++++++++++++++++++ .../RelatorioVendasPacotesResumido.jasper | Bin 0 -> 27898 bytes .../RelatorioVendasPacotesResumido.jrxml | 175 +++++++++++++ .../RelatorioVendasPacotesBean.java | 78 ++++++ ...atorioVendasPacotesResumidoController.java | 96 ++++++++ ...temMenuRelatorioVendasPacotesResumido.java | 32 +++ web/WEB-INF/i3-label_es_MX.label | 9 +- web/WEB-INF/i3-label_pt_BR.label | 9 +- .../filtroRelatorioVendasPacotesResumido.zul | 48 ++++ 9 files changed, 677 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesResumido.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesResumido.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesResumidoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesResumido.java create mode 100644 web/gui/relatorios/filtroRelatorioVendasPacotesResumido.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java new file mode 100644 index 000000000..d81b68480 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java @@ -0,0 +1,232 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.Date; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAproveitamentoBean; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasPacotesBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioVendasPacotesResumido extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioVendasPacotesBean.class); + + private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + private List lsDadosRelatorio; + + private Date fecInicio; + private Date fecFinal; + private Integer empresaId; + + public RelatorioVendasPacotesResumido(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + Map parametros = this.relatorio.getParametros(); + fecInicio = new java.sql.Date(sdf.parse(parametros.get("fecInicio").toString()).getTime()); + fecFinal = new java.sql.Date(sdf.parse(parametros.get("fecFinal").toString()).getTime()); + empresaId = parametros.get("empresaId") != null && parametros.get("empresaId").equals("null") ? Integer.valueOf(parametros.get("empresaId").toString()) : null; + + Connection conexao = this.relatorio.getConexao(); + processarTotalPacote(conexao); + processarTotalBoletos(conexao); + + setLsDadosRelatorio(lsDadosRelatorio); + } + }); + } + + private void processarTotalPacote(Connection conexao) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + + try { + String sql = getSqlPacotes(); + + log.info(sql); + + stmt = new NamedParameterStatement(conexao, sql); + + if(fecInicio != null) { + stmt.setDate("fecInicio", fecInicio); + } + if(fecFinal != null) { + stmt.setDate("fecFinal", fecFinal); + } + if (empresaId != null){ + stmt.setInt("empresaId", empresaId); + } + + rset = stmt.executeQuery(); + + if(lsDadosRelatorio == null) { + lsDadosRelatorio = new ArrayList(); + } + + while (rset.next()) { + RelatorioVendasPacotesBean relatorioVendasPacotesBean = new RelatorioVendasPacotesBean(); + relatorioVendasPacotesBean.setPacoteId(rset.getLong("pacote_id")); + relatorioVendasPacotesBean.setNompacote(rset.getString("nompacote")); + relatorioVendasPacotesBean.setTotalPacotes(rset.getBigDecimal("totalpacote")); + relatorioVendasPacotesBean.setQtdePacotes(rset.getLong("qtdepacote")); + lsDadosRelatorio.add(relatorioVendasPacotesBean); + } + + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + + } + + private void processarTotalBoletos(Connection conexao) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + + try { + String sql = getSqlBoletos(); + + log.info(sql); + + stmt = new NamedParameterStatement(conexao, sql); + + if(fecInicio != null) { + stmt.setDate("fecInicio", fecInicio); + } + if(fecFinal != null) { + stmt.setDate("fecFinal", fecFinal); + } + if (empresaId != null){ + stmt.setInt("empresaId", empresaId); + } + + rset = stmt.executeQuery(); + + if(lsDadosRelatorio == null) { + lsDadosRelatorio = new ArrayList(); + } + + while (rset.next()) { + RelatorioVendasPacotesBean relatorioVendasPacotesBean = new RelatorioVendasPacotesBean(); + relatorioVendasPacotesBean.setPacoteId(rset.getLong("pacote_id")); + relatorioVendasPacotesBean.setNompacote(rset.getString("nompacote")); + relatorioVendasPacotesBean.setTotalBoletos(rset.getBigDecimal("totalboletos")); + + if(lsDadosRelatorio.contains(relatorioVendasPacotesBean)) { + RelatorioVendasPacotesBean relatorioVendasPacotesBeanAux = lsDadosRelatorio.get(lsDadosRelatorio.indexOf(relatorioVendasPacotesBean)); + relatorioVendasPacotesBeanAux.setTotalBoletos(relatorioVendasPacotesBean.getTotalBoletos()); + } else { + lsDadosRelatorio.add(relatorioVendasPacotesBean); + } + } + + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + + } + + private String getSqlPacotes() { + StringBuilder sQuery = new StringBuilder(); + + sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, COUNT(P.PACOTE_ID) AS QTDEPACOTE, SUM(VP.TOTAL) AS TOTALPACOTE ") + .append("FROM VENDA_PACOTE VP ") + .append("LEFT JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("WHERE P.ACTIVO = 1 "); + + if(empresaId != null) { + sQuery.append("AND P.EMPRESA_ID = :empresaId "); + } + + if(fecInicio != null) { + sQuery.append("AND VP.DATAPACOTE >= :fecInicio "); + } + + if(fecFinal != null) { + sQuery.append("AND VP.DATAPACOTE <= :fecFinal "); + } + + sQuery.append("GROUP BY P.PACOTE_ID, P.NOMPACOTE "); + + return sQuery.toString(); + } + + private String getSqlBoletos() { + StringBuilder sQuery = new StringBuilder(); + + sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, SUM(TVP.VALOR) AS TOTALBOLETOS ") + .append("FROM VENDA_PACOTE VP ") + .append("LEFT JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_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("WHERE P.ACTIVO = 1 ") + .append("AND B.ACTIVO = 1 ") + .append("AND B.INDSTATUSBOLETO = 'V' "); + + if(empresaId != null) { + sQuery.append("AND P.EMPRESA_ID = :empresaId "); + } + + if(fecInicio != null) { + sQuery.append("AND VP.DATAPACOTE >= :fecInicio "); + } + + if(fecFinal != null) { + sQuery.append("AND VP.DATAPACOTE <= :fecFinal "); + } + + sQuery.append("GROUP BY P.PACOTE_ID, P.NOMPACOTE "); + + return sQuery.toString(); + } + + @Override + protected void processaParametros() throws Exception { + } + + public List getLsDadosRelatorio() { + return lsDadosRelatorio; + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesResumido.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesResumido.jasper new file mode 100644 index 0000000000000000000000000000000000000000..2bf1e34cf43f59ee4e56fe048c114adbd794d2d2 GIT binary patch literal 27898 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="62" splitType="Stretch"> + <staticText> + <reportElement x="0" y="0" width="301" height="20" uuid="58b5b133-43e0-42f0-a904-5cc3645d3df3"/> + <textElement> + <font size="14" isBold="true"/> + </textElement> + <text><![CDATA[Relatório Vendas de Pacotes - Resumido]]></text> + </staticText> + <textField pattern="dd/MM/yyyy HH:mm"> + <reportElement x="391" y="0" width="164" height="20" uuid="4d1bcd65-c9a6-44b4-8dca-cc3c4c20c9a5"/> + <textElement textAlignment="Right"> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="20" width="301" height="20" uuid="a16eb33b-78ca-4fb4-80c2-f5c85a0d09c3"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA["Empresa: " + $P{empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="40" width="301" height="20" uuid="fd05bd35-30d9-4baf-aa56-f8e5d3c3268b"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA["Período: " + $P{fecInicio} + " a " + $P{fecFinal}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBean.java new file mode 100644 index 000000000..df2102246 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBean.java @@ -0,0 +1,78 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; + +public class RelatorioVendasPacotesBean { + + private Long pacoteId; + private String nompacote; + private Long qtdePacotes; + private BigDecimal totalBoletos; + private BigDecimal totalPacotes; + + public Long getPacoteId() { + return pacoteId; + } + + public void setPacoteId(Long pacoteId) { + this.pacoteId = pacoteId; + } + + public String getNompacote() { + return nompacote; + } + + public void setNompacote(String nompacote) { + this.nompacote = nompacote; + } + + public BigDecimal getTotalBoletos() { + return totalBoletos; + } + + public void setTotalBoletos(BigDecimal totalBoletos) { + this.totalBoletos = totalBoletos; + } + + public BigDecimal getTotalPacotes() { + return totalPacotes; + } + + public void setTotalPacotes(BigDecimal totalPacotes) { + this.totalPacotes = totalPacotes; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((pacoteId == null) ? 0 : pacoteId.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; + RelatorioVendasPacotesBean other = (RelatorioVendasPacotesBean) obj; + if (pacoteId == null) { + if (other.pacoteId != null) + return false; + } else if (!pacoteId.equals(other.pacoteId)) + return false; + return true; + } + + public Long getQtdePacotes() { + return qtdePacotes; + } + + public void setQtdePacotes(Long qtdePacotes) { + this.qtdePacotes = qtdePacotes; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesResumidoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesResumidoController.java new file mode 100644 index 000000000..06770f58a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesResumidoController.java @@ -0,0 +1,96 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +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.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPacotesResumido; +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; + +@Controller("relatorioVendasPacotesResumidoController") +@Scope("prototype") +public class RelatorioVendasPacotesResumidoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Datebox dataInicial; + private Datebox dataFinal; + private MyComboboxEstandar cmbEmpresa; + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + } + + private void executarPesquisa() { + } + + public void onClick$btnLimpar(Event ev) { + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + Date dataDe = dataInicial.getValue(); + Date dataAte = dataFinal.getValue(); + + Map parametros = new HashMap(); + parametros.put("fecInicio", sdf.format(dataDe)); + parametros.put("fecFinal", sdf.format(dataAte)); + + Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem(); + String empresaId = null; + parametros.put("empresa", ""); + if (cbiEmpresa != null) { + Empresa empresa = (Empresa) cbiEmpresa.getValue(); + empresaId = empresa.getEmpresaId().toString(); + parametros.put("empresa", empresa.getNombempresa()); + } + parametros.put("empresaId", empresaId); + + Relatorio relatorio = new RelatorioVendasPacotesResumido(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendasPacotesResumidoController.window.title"), args, MODAL); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesResumido.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesResumido.java new file mode 100644 index 000000000..4c242bf91 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesResumido.java @@ -0,0 +1,32 @@ +/** + * + */ +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; + +/** + * @author Wilian Domingues + * + */ +public class ItemMenuRelatorioVendasPacotesResumido extends DefaultItemMenuSistema { + + public ItemMenuRelatorioVendasPacotesResumido() { + super("indexController.mniRelatorioVendasPacotesResumido.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDASPACOTESRESUMIDO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendasPacotesResumido.zul", + Labels.getLabel("relatorioVendasPacotesResumidoController.window.title"), getArgs() ,desktop); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 6c0d9a6fe..a85468136 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -241,6 +241,7 @@ indexController.mniFechamentoParamptovta.label = Fechamento Conta Corrente Agên indexController.mniRelatorioCorridas.label = Reporte de Corridas indexController.mniRelatorioDemandas.label = Reporte de Demandas indexController.mniPrecoApanhe.label = Preço Apanhe +indexController.mniRelatorioVendasPacotesResumido.label = Ventas de Paquetes Resumido indexController.mniSubMenuClientePacote.label=Pacote indexController.mniAlterarEnderecoApanhe.label=Alterar Endereço Apanhe @@ -5263,4 +5264,10 @@ editarAlterarEnderecoApanheController.lhCep.label = Cep editarAlterarEnderecoApanheController.lhEndereco.label = Logradouro editarAlterarEnderecoApanheController.lhReferencia.label = Referencia editarAlterarEnderecoApanheController.lhNumoperacion.label = Num Operacion -editarAlterarEnderecoApanheController.lhDataPacote.label = Fecha Pacote \ No newline at end of file +editarAlterarEnderecoApanheController.lhDataPacote.label = Fecha Pacote + +# Relatorio Vendas Pacotes Resumido +relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes Resumido +relatorioVendasPacotesResumidoController.lbDataIni.value = Fecha Inicio +relatorioVendasPacotesResumidoController.lbDataFin.value = Fecha Final +relatorioVendasPacotesResumidoController.lblEmpresa.value = Empresa \ 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 7f803afaa..addbdd690 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -246,6 +246,7 @@ indexController.mniRelatorioCorridas.label = Relatório de Serviços indexController.mniRelatorioCorridas.label = Relatório de Serviços indexController.mniRelatorioDemandas.label = Relatório de Demandas indexController.mniPrecoApanhe.label = Preço Apanhe +indexController.mniRelatorioVendasPacotesResumido.label = Vendas de Pacotes Resumido indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mniTotnaofiscalEmpresa.label=Totalizadoes Não-fiscais @@ -5390,4 +5391,10 @@ editarAlterarEnderecoApanheController.lhCep.label = Cep editarAlterarEnderecoApanheController.lhEndereco.label = Logradouro editarAlterarEnderecoApanheController.lhReferencia.label = Referência editarAlterarEnderecoApanheController.lhNumoperacion.label = Localizador -editarAlterarEnderecoApanheController.lhDataPacote.label = Data Pacote \ No newline at end of file +editarAlterarEnderecoApanheController.lhDataPacote.label = Data Pacote + +# Relatorio Vendas Pacotes Resumido +relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes Resumido +relatorioVendasPacotesResumidoController.lbDataIni.value = Data Inicial +relatorioVendasPacotesResumidoController.lbDataFin.value = Data Final +relatorioVendasPacotesResumidoController.lblEmpresa.value = Empresa \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioVendasPacotesResumido.zul b/web/gui/relatorios/filtroRelatorioVendasPacotesResumido.zul new file mode 100644 index 000000000..20a4ddf54 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendasPacotesResumido.zul @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + +