diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java index 1b63d47f7..a88fbe820 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java @@ -70,6 +70,10 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato dataResult.put("SERVICO", rset.getBigDecimal("SERVICO")); dataResult.put("DATA_VIAGEM", rset.getDate("DATA_VIAGEM")); dataResult.put("CLASSE", rset.getString("CLASSE")); + dataResult.put("EMPRESAAUTORIZADORA", rset.getString("EMPRESAAUTORIZADORA")); + dataResult.put("EMPRESAAUTORIZADORA_ID", rset.getString("EMPRESAAUTORIZADORA_ID")); + dataResult.put("NUMBPE", rset.getString("NUMBPE")); + String formasPagamento = rset.getString("descpago"); setarAsFormasDePagamento(dataResult, formasPagamento); setarOsValoresDasFormasDePagamento(dataResult, formasPagamento); @@ -113,10 +117,7 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato private void setarParmetrosObrigatorios(Map parametros, NamedParameterStatement stmt) throws SQLException { - stmt.setInt("EMPRESAAUTORIZADORA_ID", - Integer.valueOf(parametros.get("EMPRESAAUTORIZADORA_ID").toString())); stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); - stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); stmt.setTimestamp("DATA_FINAL", @@ -143,7 +144,9 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato " (NVL(c.PRECIOPAGADO,0)+(NVL(c.IMPORTEPEDAGIO,0)+ NVL(c.IMPORTETAXAEMBARQUE,0)+ NVL(c.IMPORTESEGURO,0))) TOTAL_BILHETE, "); sql.append(" cs.DESCCLASE CLASSE, "); sql.append( - " LISTAGG(fp.cvepago||' /'||CAST(cf.IMPORTE AS VARCHAR(10)),';') WITHIN GROUP( ORDER BY 1 DESC ) AS descpago"); + " LISTAGG(fp.cvepago||' /'||CAST(cf.IMPORTE AS VARCHAR(10)),';') WITHIN GROUP( ORDER BY 1 DESC ) AS descpago, "); + sql.append(" e.empresa_id EMPRESAAUTORIZADORA_ID, e.nombempresa EMPRESAAUTORIZADORA, "); + sql.append(" c.num_bpe NUMBPE "); sql.append(" from caja c "); sql.append(" join PUNTO_VENTA pv on c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); @@ -156,9 +159,12 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato sql.append(" join RUTA_EMPRESA re on re.ruta_id = c.ruta_id "); sql.append(" join CAJA_FORMAPAGO cf on cf.caja_id=c.caja_id "); sql.append(" join FORMA_PAGO fp on fp.formapago_id=cf.formapago_id "); - sql.append(" where "); + sql.append(" INNER JOIN empresa e on re.empresa_id=e.empresa_id "); + sql.append(" where "); sql.append(" m.EMPRESA_ID = :EMPRESA_ID "); - sql.append(" and re.empresa_autorizadora_id = :EMPRESAAUTORIZADORA_ID "); + sql.append(" and re.empresa_autorizadora_id in ( "); + sql.append(parametros.get("EMPRESAAUTORIZADORA_ID")); + sql.append(" ) "); sql.append(" and c.FECHORVENTA >= :DATA_INICIAL "); sql.append(" and c.FECHORVENTA <= :DATA_FINAL "); sql.append(" and ((c.indreimpresion = 1 "); @@ -193,7 +199,10 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato sql.append(" c.preciopagado, "); sql.append( " (NVL(c.PRECIOPAGADO,0)+(NVL(c.IMPORTEPEDAGIO,0)+ NVL(c.IMPORTETAXAEMBARQUE,0)+ NVL(c.IMPORTESEGURO,0))), "); - sql.append(" cs.descclase "); + sql.append(" cs.descclase, "); + sql.append(" e.empresa_id, "); + sql.append(" e.nombempresa, "); + sql.append(" c.num_bpe "); sql.append(" ORDER BY u.CVEUSUARIO, "); sql.append(" u.NOMBUSUARIO, "); sql.append(" pv.NUMPUNTOVENTA, "); @@ -204,6 +213,7 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relato sql.append(" ct.DESCCATEGORIA, "); sql.append(" c.FECCORRIDA, "); sql.append(" c.CORRIDA_ID "); + } }); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper index 49a50227a..8fd8577b4 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml index f4d28b0cf..78c7122a6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml @@ -1,8 +1,8 @@ - + - - + + @@ -37,11 +37,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -136,11 +216,19 @@ - + + + + + + + + + - + @@ -150,19 +238,19 @@ - + - + - + @@ -173,7 +261,7 @@ - + @@ -189,14 +277,14 @@ - + - + @@ -305,49 +393,42 @@ - - - - - - - - + - + - + - + - + - + @@ -458,12 +539,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java index 62827ac08..578cfb728 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java @@ -9,6 +9,7 @@ import java.util.Map; import javax.sql.DataSource; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; @@ -22,6 +23,7 @@ import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; +import org.zkoss.zul.Row; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; @@ -87,19 +89,30 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGen private Radio radioSintetico; private Radio radioAnalitico; + + private Row rowTipoReletario; + + private static final Short EMPRESA_OPERADORA = 4; @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); - lsEmpresaAutorizadora = buscarEmpresaDiferenteDeOperadora(); + lsEmpresaAutorizadora = buscarEmpresaDiferenteDeOperadora(true); lsEmpresa = buscarEmpresaOperadora(); puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); usuarioList.setItemRenderer(new RenderRelatorioCheckinUsuario()); usuarioSelList.setItemRenderer(new RenderRelatorioCheckinUsuariosSelecionados()); + rowTipoReletario.setVisible(false); + setarValorInicialCmbEmpresa(); + } + private void setarValorInicialCmbEmpresa() { + if(lsEmpresa!=null && !lsEmpresa.isEmpty()) { + cmbEmpresa.setValue(lsEmpresa.get(0).toString()); + } } public List getLsEmpresa() { @@ -346,15 +359,21 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGen } } - private List buscarEmpresaDiferenteDeOperadora() { + private List buscarEmpresaDiferenteDeOperadora(boolean isTodas) { List todasAsEmpresas = empresaService.obtenerTodos(); - List empOperadoras = new ArrayList(); + List emAutorizadora = new ArrayList(); + if(isTodas) { + Empresa empresa = new Empresa(); + empresa.setEmpresaId(-1); + empresa.setNombempresa("TODAS"); + emAutorizadora.add(empresa); + } for (Empresa emp : todasAsEmpresas) { if (emp.getIndTipo() != EMPRESA_OPERADORA) { - empOperadoras.add(emp); + emAutorizadora.add(emp); } } - return empOperadoras; + return emAutorizadora; } private List buscarEmpresaOperadora() { @@ -373,12 +392,18 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGen } private void executarRelatorio() throws Exception { - Relatorio relatorio; + + if(lsEmpresaAutorizadora.size()<=1) { + Messagebox.show(Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.naoexisteempresaautorizadora"), + Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title"), Messagebox.OK, + Messagebox.ERROR); + return; + + } + Map parametros = new HashMap(); StringBuilder filtro = new StringBuilder(); - - carregaValoresEmpresaAutorizadora(parametros, filtro); carregaValoresEmpresa(parametros, filtro); carregaValoresAgencia(parametros, filtro); @@ -489,7 +514,7 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGen filtro.append(" Empresa: "); Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); - if (itemEmpresa != null) { + if (itemEmpresa != null && !isEmpresaTodas(itemEmpresa)) { Empresa empresa = (Empresa) itemEmpresa.getValue(); parametros.put("EMPRESA_ID", empresa.getEmpresaId()); parametros.put("EMPRESA", empresa.getNombempresa()); @@ -498,18 +523,60 @@ public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGen filtro.append(" Todas;"); } } + + private boolean isEmpresaTodas(Comboitem itemEmpresa ) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + return empresa.getEmpresaId().equals(-1); + + + } private void carregaValoresEmpresaAutorizadora(Map parametros, StringBuilder filtro) { filtro.append(" Empresa Autorizadora: "); Comboitem itemEmpresaAutorizadora = cmbEmpresaAutorizadora.getSelectedItem(); - if (itemEmpresaAutorizadora != null) { + if (!isEmpresaTodas(itemEmpresaAutorizadora)) { Empresa empresa = (Empresa) itemEmpresaAutorizadora.getValue(); - parametros.put("EMPRESAAUTORIZADORA_ID", empresa.getEmpresaId()); - parametros.put("EMPRESAAUTORIZADORA", empresa.getNombempresa()); + parametros.put("EMPRESAAUTORIZADORA_ID", empresa.getEmpresaId()); filtro.append(empresa.getNombempresa() + ";"); } else { - filtro.append(" Todas;"); + filtro.append("TODAS;"); + parametros.put("EMPRESAAUTORIZADORA_ID", carregarOsIdsDeTodasAsEmpresasAutorizadoras()); } } + + private String carregarOsIdsDeTodasAsEmpresasAutorizadoras() { + List listEmpresasAutorizadora = buscarEmpresaDiferenteDeOperadora(false); + StringBuilder string = new StringBuilder(); + + if(listEmpresasAutorizadora!=null && !listEmpresasAutorizadora.isEmpty()) { + for(Empresa e : listEmpresasAutorizadora) { + if(StringUtils.isNotBlank(string.toString())) { + string.append(","); + } + string.append(e.getEmpresaId()); + } + return string.toString(); + } + return null; + } + + private List retornarListEmpresaAutorizadoraeIds() { + List listEmpresasAutorizadora = buscarEmpresaDiferenteDeOperadora(false); + List listEmpresasAutorizadoraInteger = new ArrayList(); + for (Empresa e : listEmpresasAutorizadora) { + listEmpresasAutorizadoraInteger.add(e.getEmpresaId()); + } + return listEmpresasAutorizadoraInteger; + } + + private Integer[] converterEmpresaAutorizadoraeEmArrayDeEmpresaId() { + return converteListIdsEmArrayIds(retornarListEmpresaAutorizadoraeIds()); + } + + private Integer[] converteListIdsEmArrayIds(List ids) { + Integer[] arrayIds = new Integer[ids.size()]; + arrayIds = ids.toArray(arrayIds); + return arrayIds; + } } diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 46fe98c63..e3f6a22a0 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -417,7 +417,7 @@ indexController.mniRelatorioVendaEmbarcada.label = Venda Embarcada indexController.mniRelatorioCaixaOrgaoConcedente.label = Relatório Caixa por Órgão Concedente indexController.mniRelatorioW2I.label = Relatório Seguro W2I indexController.mniRelatorioTxEmbW2I.label = Relatório Taxa Embarque W2I -indexController.mniRelatorioVendaPorEmpresaAutorizadora.label= Relatório de venda Por Empresa Autorizadora +indexController.mniRelatorioVendaPorEmpresaAutorizadora.label= Relatório de Venda por Empresa Autorizadora indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -1345,7 +1345,7 @@ relatorioPosicaoVendaBilheteIdosoController.tpTrecho.label = Trecho relatorioPosicaoVendaBilheteIdosoController.tpPassageiro.label = Passageiro #Relatório de venda Por Empresa Autorizadora -relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title = Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title = Relatório de Venda Por Empresa Autorizadora relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatInicial.value = Data inicial relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência @@ -1362,9 +1362,9 @@ relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Di relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutResumo.value = Resumo relatorioVendaBilhetePorEmpresaAutorizadoraController.analitico.value = Analitico relatorioVendaBilhetePorEmpresaAutorizadoraController.sintetico.value = Sintetico -relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value = Relatório analitico de venda Por Empresa Autorizadora -relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value = Relatório sintetico de venda Por Empresa Autorizadora - +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value = Relatório Analitico de Venda por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value = Relatório Sintetico de Venda por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.naoexisteempresaautorizadora = Não Existe Empresa Autorizadora no sistema # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar diff --git a/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul b/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul index 88f8db92c..1544bf5ed 100644 --- a/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul +++ b/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul @@ -40,10 +40,10 @@ @@ -53,7 +53,7 @@ buttonVisible="true" constraint="no empty" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" model="@{winFiltroRelatorioVendaBilhetePorEmpresaAutorizadora$composer.lsEmpresa}" - width="95%" /> + width="95%" />