From 91c658b15f66dcf5a3e108ce2c5dc6b592b3a4a4 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Mon, 15 Jun 2015 18:12:32 +0000 Subject: [PATCH] Atendimento da demanda 6361 - Adicionando arquivos git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44991 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioReceitaServico.java | 144 ++++++++ .../RelatorioReceitaServico_es.properties | 12 + .../RelatorioReceitaServico_pt_BR.properties | 12 + .../templates/RelatorioReceitaServico.jasper | Bin 0 -> 38876 bytes .../templates/RelatorioReceitaServico.jrxml | 274 ++++++++++++++ .../RelatorioReceitaServicoController.java | 335 ++++++++++++++++++ 6 files changed, 777 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java new file mode 100644 index 000000000..6bfd3a73c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java @@ -0,0 +1,144 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.negocio.CalculoImposto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ExceptionConfiguracao; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioReceitaServico extends Relatorio { + + public RelatorioReceitaServico(Map parametros, Connection conexao) throws Exception + { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); +// String puntosVentaIds = (String) parametros.get("NUMPUNTOVENTA"); + + String sql = getSql( + (parametros.get("ORIGEN_ID") != null && parametros.get("ORIGEN_ID") != "" ) , + (parametros.get("DESTINO_ID") != null && parametros.get("DESTINO_ID") != "" ) + ); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + // stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + // stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); + + stmt.setTimestamp("DATA_INICIAL", new Timestamp(((Date) parametros.get("DATA_INICIAL")).getTime())); + stmt.setTimestamp("DATA_FINAL", new Timestamp(((Date) parametros.get("DATA_FINAL")).getTime())); + + if (parametros.get("ORIGEN_ID") != null) + stmt.setInt("ORIGEN_ID", (Integer) parametros.get("ORIGEN_ID")); + else{} + // stmt.setNull("ORIGEN_ID", java.sql.Types.INTEGER); + + if (parametros.get("DESTINO_ID") != null) + stmt.setInt("DESTINO_ID", (Integer) parametros.get("DESTINO_ID")); + else{} + //stmt.setNull("DESTINO_ID", java.sql.Types.INTEGER); + + if (parametros.get("EMPRESA_ID") != null) + stmt.setInt("EMPRESA_ID", (Integer) parametros.get("EMPRESA_ID")); + else + stmt.setNull("EMPRESA_ID", java.sql.Types.INTEGER); + + if (parametros.get("CLASESERVICIO_ID") != null) + stmt.setInt("CLASESERVICIO_ID", (Short) parametros.get("CLASESERVICIO_ID")); + else + stmt.setNull("CLASESERVICIO_ID", java.sql.Types.INTEGER); + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + + Map dataResult = new HashMap(); + + dataResult.put("data", rset.getDate("data")); + dataResult.put("servico", rset.getString("servico")); + dataResult.put("empresa", rset.getString("empresa")); + dataResult.put("origem", rset.getString("origem")); + dataResult.put("destino", rset.getString("destino")); + dataResult.put("classe", rset.getString("classe")); + dataResult.put("tarifa", rset.getString("tarifa")); + dataResult.put("tut", rset.getBigDecimal("tut")); + dataResult.put("pedagio", rset.getBigDecimal("pedagio")); + dataResult.put("total", rset.getBigDecimal("total")); + dataResult.put("tipo", rset.getString("tipo")); + dataResult.put("agencia", rset.getString("agencia")); + dataResult.put("dataHoraCompra", rset.getDate("dataHoraCompra")); + dataResult.put("passageiro", rset.getString("passageiro")); + dataResult.put("nrBilhete", rset.getString("nrBilhete")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + + } + + }); + + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(boolean origemSelected , boolean destinoSelected) { + StringBuilder sql = new StringBuilder(); + + sql.append(" select c.feccorrida as data, "); + sql.append(" c.CORRIDA_ID as servico , "); + sql.append(" e.nombempresa as empresa, "); + sql.append(" pOrig.cveparada as origem, "); + sql.append(" pDest.cveparada as destino, "); + sql.append(" cs.descclase as classe, "); + sql.append(" cj.preciopagado as tarifa, "); + sql.append(" cj.importetaxaembarque as tut, "); + sql.append(" cj.importepedagio as pedagio, "); + sql.append(" (cj.preciopagado + cj.importetaxaembarque + cj.importepedagio ) as total, "); + sql.append(" CAT.desccategoria as tipo, "); + sql.append(" pv.nombpuntoventa as agencia, "); + sql.append(" cj.fechorventa as dataHoraCompra, "); + sql.append(" cj.nombpasajero as passageiro, "); + sql.append(" cj.NUMFOLIOPREIMPRESO as nrBilhete "); + sql.append(" from corrida c "); + sql.append(" inner join marca m on c.marca_id = m.marca_id "); + sql.append(" inner join empresa e on m.empresa_id = e.empresa_id "); + sql.append(" inner join caja cj on cj.corrida_id = c.corrida_id "); + sql.append(" inner join parada pOrig on pOrig.parada_id = cj.origen_id "); + sql.append(" inner join parada pDest on pDest.parada_id = cj.destino_id "); + sql.append(" inner join CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = cj.CLASESERVICIO_ID "); + sql.append(" inner join CATEGORIA CAT on cj.usuario_id = CAT.usuario_id "); + sql.append(" inner join punto_venta pv on cj.puntoventa_id = pv.puntoventa_id "); + + sql.append(" where c.feccorrida >= :DATA_INICIAL "); + sql.append(" and c.feccorrida <= :DATA_FINAL "); + + if(origemSelected){ sql.append(" and pOrig.PARADA_ID IN (:ORIGEN_ID) "); } + else{ sql.append(" and pOrig.PARADA_ID IN ( select p.PARADA_ID from parada p ) "); } + + if(destinoSelected){ sql.append(" and pDest.PARADA_ID IN (:DESTINO_ID) "); } + else{ sql.append(" and pDest.PARADA_ID IN ( select p.PARADA_ID from parada p) "); } + + sql.append(" and e.EMPRESA_ID = :EMPRESA_ID "); + sql.append(" and CLASESERVICIO_ID = :CLASESERVICIO_ID "); + + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_es.properties new file mode 100644 index 000000000..2cdde92d3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_es.properties @@ -0,0 +1,12 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_pt_BR.properties new file mode 100644 index 000000000..2cdde92d3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioReceitaServico_pt_BR.properties @@ -0,0 +1,12 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper new file mode 100644 index 0000000000000000000000000000000000000000..979f7739972c6226db7fc849a322a94211fbaa52 GIT binary patch literal 38876 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml new file mode 100644 index 000000000..f4e45a4e1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java new file mode 100644 index 000000000..a6ceacfca --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java @@ -0,0 +1,335 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +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.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.ComboitemRenderer; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.GrupoRuta; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioOCDNaoResgatadaEmpresa; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioReceitaServico; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhas; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhasAnalitico; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioTaxasLinha; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParadaCve; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioReceitaServicoController") +@Scope("prototype") +public class RelatorioReceitaServicoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + + private Datebox datInicial; + private Datebox datFinal; + private MyComboboxParada cmbParadaOrigem; + private MyComboboxParadaCve cmbParadaOrigemCve; + private MyComboboxParada cmbParadaDestino; + private MyComboboxParadaCve cmbParadaDestinoCve; + private List lsEmpresa; + private List lsClase; + + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbClase; + + @Autowired + private EmpresaService empresaService; + @Autowired + private ClaseServicioService claseService; + @Autowired + private DataSource dataSourceRead; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsClase = claseService.obtenerTodos(); + + super.doAfterCompose(comp); + cmbParadaOrigemCve.setItemRenderer(new ComboitemRenderer() { + @Override + public void render(Comboitem cmbtm, Object o) throws Exception { + Parada parada = (Parada) o; + + cmbtm.setLabel(parada.getCveparada()); + cmbtm.setValue(parada); + } + }); + + cmbParadaDestinoCve.setItemRenderer(new ComboitemRenderer() { + @Override + public void render(Comboitem cmbtm, Object o) throws Exception { + Parada parada = (Parada) o; + + cmbtm.setLabel(parada.getCveparada()); + cmbtm.setValue(parada); + } + }); + + + } + + public void onSelect$cmbParadaOrigemCve(Event ev) { + if (cmbParadaOrigemCve.getSelectedItem() != null) { + cmbParadaOrigem.setComboItemByParada((Parada) cmbParadaOrigemCve.getSelectedItem().getValue()); + } + } + + public void onSelect$cmbParadaOrigem(Event ev) { + if (cmbParadaOrigem.getSelectedItem() != null) + cmbParadaOrigemCve.setComboItemByParada((Parada) cmbParadaOrigem.getSelectedItem().getValue()); + } + + public void onSelect$cmbParadaDestinoCve(Event ev) { + if (cmbParadaDestinoCve.getSelectedItem() != null) { + cmbParadaDestino.setComboItemByParada((Parada) cmbParadaDestinoCve.getSelectedItem().getValue()); + } + } + + public void onSelect$cmbParadaDestino(Event ev) { + if (cmbParadaDestino.getSelectedItem() != null) { + cmbParadaDestinoCve.setComboItemByParada((Parada) cmbParadaDestino.getSelectedItem().getValue()); + } + } + + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + + if (datInicial != null && datFinal != null && datFinal.getValue().compareTo(datInicial.getValue()) < 0 ) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioReceitaServicoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + }else + { + Relatorio relatorio; + + Map parametros = new HashMap(); + + StringBuilder filtro = new StringBuilder(); + + filtro.append("Início período: "); + Calendar cal = Calendar.getInstance(); + cal.setTime(datInicial.getValue()); + filtro.append(cal.get(Calendar.DATE)+"/"); + filtro.append((cal.get(Calendar.MONTH)+1)+"/"); + filtro.append(cal.get(Calendar.YEAR)+"; "); + + filtro.append("Fim período: "); + + cal.setTime(datFinal.getValue()); + filtro.append(cal.get(Calendar.DATE)+"/"); + filtro.append((cal.get(Calendar.MONTH)+1)+"/"); + filtro.append(cal.get(Calendar.YEAR)+"; "); + + + + + parametros.put("DATA_INICIAL", (java.util.Date) datInicial.getValue()); + parametros.put("DATA_FINAL", (java.util.Date) datFinal.getValue()); + + Comboitem cbiOrigem = cmbParadaOrigem.getSelectedItem(); + if (cbiOrigem != null) { + Parada origem = (Parada) cbiOrigem.getValue(); + parametros.put("ORIGEN_ID", origem.getParadaId()); + filtro.append("Origem: "+origem.getCveparada()+"; "); + //filtro.append(origem.getCveparada() + ";"); + } else { + parametros.put("ORIGEN_ID", null);// + filtro.append("Origem: Todos; "); + } + + Comboitem cbiDestino = cmbParadaDestino.getSelectedItem(); + if (cbiDestino != null) { + Parada destino = (Parada) cbiDestino.getValue(); + parametros.put("DESTINO_ID", destino.getParadaId()); + filtro.append("Destino: "+destino.getCveparada()+"; "); + //filtro.append(destino.getCveparada() + ";"); + } else { + parametros.put("DESTINO_ID", null); + filtro.append("Destino: Todos; "); + } + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + filtro.append("Empresa: "+empresa.getNombempresa()+"; "); + //filtro.append(empresa.getNombempresa() + ";"); + } else { + parametros.put("EMPRESA_ID", ""); + } + + Comboitem itemClasse = cmbClase.getSelectedItem(); + if (itemClasse != null) { + ClaseServicio clase = (ClaseServicio) itemClasse.getValue(); + parametros.put("CLASESERVICIO_ID", clase.getClaseservicioId()); + filtro.append("Classe: "+clase.getDescclase()+"; "); + //filtro.append(empresa.getNombempresa() + ";"); + } else { + parametros.put("CLASESERVICIO_ID", ""); + } + + parametros.put("FILTROS", filtro.toString()); + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioReceitaServicoController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + + relatorio = new RelatorioReceitaServico(parametros, dataSourceRead.getConnection()); + + if(relatorio.getCustomDataSource().next()) + { + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioReceitaServicoController.window.title"), args, MODAL); + }else + { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioReceitaServicoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + + + + } + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public Datebox getDatInicial() { + return datInicial; + } + + public void setDatInicial(Datebox datInicial) { + this.datInicial = datInicial; + } + + public Datebox getDatFinal() { + return datFinal; + } + + public void setDatFinal(Datebox datFinal) { + this.datFinal = datFinal; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public List getLsClase() { + return lsClase; + } + + public void setLsClase(List lsClase) { + this.lsClase = lsClase; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public ClaseServicioService getClaseService() { + return claseService; + } + + public void setClaseService(ClaseServicioService claseService) { + this.claseService = claseService; + } + + public MyComboboxEstandar getCmbClase() { + return cmbClase; + } + + public void setCmbClase(MyComboboxEstandar cmbClase) { + this.cmbClase = cmbClase; + } + + public MyComboboxParada getCmbParadaOrigem() { + return cmbParadaOrigem; + } + + public void setCmbParadaOrigem(MyComboboxParada cmbParadaOrigem) { + this.cmbParadaOrigem = cmbParadaOrigem; + } + + public MyComboboxParadaCve getCmbParadaOrigemCve() { + return cmbParadaOrigemCve; + } + + public void setCmbParadaOrigemCve(MyComboboxParadaCve cmbParadaOrigemCve) { + this.cmbParadaOrigemCve = cmbParadaOrigemCve; + } + + public MyComboboxParada getCmbParadaDestino() { + return cmbParadaDestino; + } + + public void setCmbParadaDestino(MyComboboxParada cmbParadaDestino) { + this.cmbParadaDestino = cmbParadaDestino; + } + + public MyComboboxParadaCve getCmbParadaDestinoCve() { + return cmbParadaDestinoCve; + } + + public void setCmbParadaDestinoCve(MyComboboxParadaCve cmbParadaDestinoCve) { + this.cmbParadaDestinoCve = cmbParadaDestinoCve; + } + +}