diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDescontos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDescontos.java index c347c53df..4fc1c1db1 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDescontos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDescontos.java @@ -46,8 +46,8 @@ public class RelatorioDescontos extends Relatorio { } if(codconvenio != null && !codconvenio.isEmpty()) { statement.setString("codconvenio", codconvenio); - } - + } + ResultSet resultSet = statement.executeQuery(); preencherDadosRelatorio(resultSet); @@ -70,6 +70,10 @@ public class RelatorioDescontos extends Relatorio { singleData.put("tarifaComDesconto", resultSet.getDouble("tarifaComDesconto")); singleData.put("tut", resultSet.getDouble("tut")); singleData.put("pedagio", resultSet.getDouble("pedagio")); + singleData.put("nomepassageiro", resultSet.getString("nomepassageiro")); + singleData.put("documento", resultSet.getString("documento")); + singleData.put("bilheteiro", resultSet.getString("bilheteiro")); + singleData.put("empresacorrida", resultSet.getString("empresacorrida")); dadosRelatorio.add(singleData); } @@ -82,7 +86,7 @@ public class RelatorioDescontos extends Relatorio { String query = " SELECT " - + " CONV.CVECONVENIO AS codConvenio, " + + " (CONV.CVECONVENIO || ' - ' || CONV.DESCCONVENIO) AS codConvenio, " + " PUNT_V.NOMBPUNTOVENTA AS nomeAgencia, " + " BOL.FECHORVENTA AS dataEmissao, " + " BOL.FECHORVIAJE AS dataViagem, " @@ -91,20 +95,27 @@ public class RelatorioDescontos extends Relatorio { + " DEST.CVEPARADA AS codDestino, " + " BOL.PRECIOPAGADO AS tarifaComDesconto, " + " BOL.IMPORTETAXAEMBARQUE AS tut, " - + " BOL.IMPORTEPEDAGIO AS pedagio " - + + " BOL.IMPORTEPEDAGIO AS pedagio, " + + " BOL.NOMBPASAJERO AS nomepassageiro, " + + " BOL.NUMIDENTIFICACION AS documento," + + " U.CVEUSUARIO AS bilheteiro, " + + " BOL.EMPRESACORRIDA_ID AS empresacorrida" + " FROM BOLETO BOL " + " JOIN CONVENIO_DET CONV_D ON CONV_D.CONVENIODET_ID = BOL.CONVENIODET_ID " + " JOIN CONVENIO CONV ON CONV.CONVENIO_ID = CONV_D.CONVENIO_ID " + " JOIN PUNTO_VENTA PUNT_V ON PUNT_V.PUNTOVENTA_ID = BOL.PUNTOVENTA_ID " + " JOIN PARADA ORIG ON ORIG.PARADA_ID = BOL.ORIGEN_ID " + " JOIN PARADA DEST ON DEST.PARADA_ID = BOL.DESTINO_ID " - + + " INNER JOIN USUARIO U ON U.USUARIO_ID = BOL.USUARIO_ID " + " WHERE " + " BOL.INDSTATUSOPERACION = 'F' " + " AND BOL.ACTIVO = 1 " + " AND BOL.FECHORVENTA BETWEEN :fecVentaInicial AND :fecVentaFinal "; - + + if(!((String)parametros.get("EMPRESAIDS")).equals("")){ + query +=" AND BOL.EMPRESACORRIDA_ID IN ( " + (String)parametros.get("EMPRESAIDS") + ")" ; + } + if(idPuntoVenta != null) { query += " AND (BOL.PUNTOVENTA_ID = :idPuntoVenta) "; } @@ -112,7 +123,13 @@ public class RelatorioDescontos extends Relatorio { query += " AND (CONV.CVECONVENIO = :codconvenio)"; } - query += " ORDER BY CONV.CVECONVENIO "; + query += " GROUP BY (CONV.CVECONVENIO || ' - ' || CONV.DESCCONVENIO), BOL.EMPRESACORRIDA_ID, PUNT_V.NOMBPUNTOVENTA, "; + query += " BOL.FECHORVENTA, BOL.FECHORVIAJE, BOL.CORRIDA_ID, ORIG.CVEPARADA, DEST.CVEPARADA, BOL.PRECIOPAGADO, " ; + query += " BOL.IMPORTETAXAEMBARQUE, BOL.IMPORTEPEDAGIO, BOL.NOMBPASAJERO, BOL.NUMIDENTIFICACION, U.CVEUSUARIO " ; + query += " ORDER BY (CONV.CVECONVENIO || ' - ' || CONV.DESCCONVENIO), BOL.EMPRESACORRIDA_ID, PUNT_V.NOMBPUNTOVENTA, "; + query += " BOL.FECHORVENTA, BOL.FECHORVIAJE, BOL.CORRIDA_ID, ORIG.CVEPARADA, DEST.CVEPARADA, BOL.PRECIOPAGADO, " ; + query += " BOL.IMPORTETAXAEMBARQUE, BOL.IMPORTEPEDAGIO, BOL.NOMBPASAJERO, BOL.NUMIDENTIFICACION, U.CVEUSUARIO " ; + return query; } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_es.properties index 3622b3b8b..5f96a8b62 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_es.properties @@ -19,4 +19,7 @@ label.pedagio = Ped label.totalPorConvenio = Total deste Convênio label.totalGeral = Total Geral label.total = Total -msg.noData = Não foi possivel obter dados com os parâmetros informados. \ No newline at end of file +msg.noData = Não foi possivel obter dados com os parâmetros informados. +label.bilheteiro = Bilheteiro +label.nomepassageiro = Passageiro +label.documentopassageiro = Doc. P. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_pt_BR.properties index 3622b3b8b..5f96a8b62 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDescontos_pt_BR.properties @@ -19,4 +19,7 @@ label.pedagio = Ped label.totalPorConvenio = Total deste Convênio label.totalGeral = Total Geral label.total = Total -msg.noData = Não foi possivel obter dados com os parâmetros informados. \ No newline at end of file +msg.noData = Não foi possivel obter dados com os parâmetros informados. +label.bilheteiro = Bilheteiro +label.nomepassageiro = Passageiro +label.documentopassageiro = Doc. P. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jasper index 6fc73e8cd..20eacc3c5 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jrxml index 0e4d3797e..752804e8e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDescontos.jrxml @@ -1,7 +1,7 @@ - + @@ -19,6 +19,10 @@ + + + + @@ -44,7 +48,8 @@ - + @@ -72,140 +77,170 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -216,9 +251,9 @@ - + - + @@ -356,77 +391,98 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -438,7 +494,7 @@ - + @@ -451,28 +507,28 @@ - + - + - + - + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDescontosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDescontosController.java index 84df10d81..644459b3f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDescontosController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDescontosController.java @@ -1,6 +1,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.sql.DataSource; @@ -10,16 +13,24 @@ 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.Datebox; +import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDescontos; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioDescontos; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioDescontosEmpresasSel; @Controller("relatorioDescontosController") @Scope("prototype") @@ -29,10 +40,25 @@ public class RelatorioDescontosController extends MyGenericForwardComposer { @Autowired private DataSource dataSourceRead; + @Autowired + private transient PagedListWrapper plwEmpresa; + private MyComboboxPuntoVenta cmbAgencia; private Datebox fecVentaInicial; private Datebox fecVentaFinal; private Textbox txtCodConvenio; + private Textbox txtNombreEmpresa; + private Paging pagingEmpresa; + private Paging pagingEmpresaSel; + private MyListbox empresaList; + private MyListbox empresaSelList; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + empresaList.setItemRenderer(new RenderRelatorioDescontos()); + empresaSelList.setItemRenderer(new RenderRelatorioDescontosEmpresasSel()); + } public void onClick$btnExecutarRelatorio(Event ev) throws Exception { validarAntesImpressao(); @@ -74,6 +100,17 @@ public class RelatorioDescontosController extends MyGenericForwardComposer { parametros.put("puntoVenta", puntoVenta.getPuntoventaId() + " - " + puntoVenta.getNombpuntoventa()); } + StringBuilder empresaIds = new StringBuilder(); + List lsEmpresasSelecionadas = new ArrayList(Arrays.asList(empresaSelList.getData())); + for (int i = 0; i < lsEmpresasSelecionadas.size(); i++) { + Empresa empresa = lsEmpresasSelecionadas.get(i); + if(empresaIds.length() > 0) { + empresaIds.append(","); + } + empresaIds.append(empresa.getEmpresaId()); + } + parametros.put("EMPRESAIDS", empresaIds.toString()); + Relatorio relatorio = new RelatorioDescontos(parametros, dataSourceRead.getConnection()); Map args = new HashMap(); args.put("relatorio", relatorio); @@ -82,6 +119,47 @@ public class RelatorioDescontosController extends MyGenericForwardComposer { } + private void executarPesquisa() { + HibernateSearchObject empresaBusqueda = + new HibernateSearchObject(Empresa.class, pagingEmpresa.getPageSize()); + + empresaBusqueda.addFilterILike("nombempresa", "%" + txtNombreEmpresa.getValue() + "%"); + empresaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + empresaBusqueda.addSortAsc("nombempresa"); + + plwEmpresa.init(empresaBusqueda, empresaList, pagingEmpresa); + + if (empresaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioDescontosController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onClick$btnLimpar(Event ev) { + empresaList.setData(new ArrayList()); + txtNombreEmpresa.setText(""); + } + + public void onDoubleClick$empresaList(Event ev) { + Empresa empresa = (Empresa) empresaList.getSelected(); + empresaSelList.addItemNovo(empresa); + } + + public void onDoubleClick$empresaSelList(Event ev) { + Empresa empresa = (Empresa) empresaSelList.getSelected(); + empresaSelList.removeItem(empresa); + } + public MyComboboxPuntoVenta getCmbAgencia() { return cmbAgencia; } @@ -106,5 +184,60 @@ public class RelatorioDescontosController extends MyGenericForwardComposer { } public void setTxtCodConvenio(Textbox txtCodConvenio) { this.txtCodConvenio = txtCodConvenio; - } + } + public Textbox getTxtNombreEmpresa() { + return txtNombreEmpresa; + } + public void setTxtNombreEmpresa(Textbox txtNombreEmpresa) { + this.txtNombreEmpresa = txtNombreEmpresa; + } + + public PagedListWrapper getPlwEmpresa() { + return plwEmpresa; + } + + public void setPlwEmpresa(PagedListWrapper plwEmpresa) { + this.plwEmpresa = plwEmpresa; + } + + public Paging getPagingEmpresa() { + return pagingEmpresa; + } + + public void setPagingEmpresa(Paging pagingEmpresa) { + this.pagingEmpresa = pagingEmpresa; + } + + public MyListbox getPuntoVentaList() { + return empresaList; + } + + public void setPuntoVentaList(MyListbox puntoVentaList) { + this.empresaList = puntoVentaList; + } + + public MyListbox getEmpresaSelList() { + return empresaSelList; + } + + public void setEmpresaSelList(MyListbox empresaSelList) { + this.empresaSelList = empresaSelList; + } + + public Paging getPagingEmpresaSel() { + return pagingEmpresaSel; + } + + public void setPagingEmpresaSel(Paging pagingEmpresaSel) { + this.pagingEmpresaSel = pagingEmpresaSel; + } + + public MyListbox getEmpresaList() { + return empresaList; + } + + public void setEmpresaList(MyListbox empresaList) { + this.empresaList = empresaList; + } + } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontos.java new file mode 100644 index 000000000..9716df81c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontos.java @@ -0,0 +1,27 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Empresa; + +public class RenderRelatorioDescontos implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + Empresa empresa = (Empresa) o; + + Listcell lc = new Listcell(empresa.getEmpresaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(empresa.getNombempresa()); + lc.setParent(lstm); + + lstm.setAttribute("data", empresa); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontosEmpresasSel.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontosEmpresasSel.java new file mode 100644 index 000000000..5cc3b34ec --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioDescontosEmpresasSel.java @@ -0,0 +1,27 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Empresa; + +public class RenderRelatorioDescontosEmpresasSel implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + Empresa empresa = (Empresa) o; + + Listcell lc = new Listcell(empresa.getEmpresaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(empresa.getNombempresa()); + lc.setParent(lstm); + + lstm.setAttribute("data", empresa); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index e5fd38fec..3ab75ec9b 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -6173,6 +6173,10 @@ relatorioDescontosController.lbPeriodoVendaInicial.value = Fecha Venta Inicial relatorioDescontosController.lbPeriodoVendaFinal.value = Fecha Venta Final relatorioDescontosController.info.fecVentaInicial = Informe la Fecha de Venta Inicial relatorioDescontosController.info.fecVentaFinal = Informe la Fecha de Venta Final +relatorioDescontosController.lbEmpresa.value = Empresa +relatorioDescontosController.btnPesquisa.label = Buscar +relatorioDescontosController.btnLimpar.label = Limpar +relatorioDescontosController.lbIdEmpresa.value = Id # Filtro Relatorio de Agências Não Importadas filtroRelatorioAgenciasNaoImportadas.lbDataIni.value = Fecha Inicio diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index b921c0d18..81805b10c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -6289,6 +6289,11 @@ relatorioDescontosController.lbPeriodoVendaFinal.value = Data Venda Final relatorioDescontosController.info.fecVentaInicial = Informe a Data Venda Inicial relatorioDescontosController.info.fecVentaFinal = Informe a Data Venda Final +relatorioDescontosController.lbEmpresa.value = Empresa +relatorioDescontosController.btnPesquisa.label = Buscar +relatorioDescontosController.btnLimpar.label = Limpar +relatorioDescontosController.lbIdEmpresa.value = Id + indexController.mniRelatorioAgenciaFechamento.label= Resumo Venda por Agencia integracion.totvs=ERRO ao fazer integração com a TOTVS diff --git a/web/gui/relatorios/filtroRelatorioDescontos.zul b/web/gui/relatorios/filtroRelatorioDescontos.zul index 1e53f889c..66d8a5fef 100644 --- a/web/gui/relatorios/filtroRelatorioDescontos.zul +++ b/web/gui/relatorios/filtroRelatorioDescontos.zul @@ -5,7 +5,7 @@ - + @@ -29,6 +29,51 @@ + +