diff --git a/pom.xml b/pom.xml
index 2c461c8f3..f5e5d843b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,12 +4,12 @@
4.0.0
br.com.rjconsultores
ventaboletosadm
- 1.21.2
+ 1.22.0
war
1.15.0
- 1.11.0
+ 1.12.0
UTF-8
UTF-8
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java
new file mode 100644
index 000000000..e61aac7e5
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java
@@ -0,0 +1,133 @@
+package com.rjconsultores.ventaboletos.relatorios.impl;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
+import com.rjconsultores.ventaboletos.utilerias.DateUtil;
+import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
+
+public class RelatorioVendaBilhetePorEmpresaAutorizadora extends Relatorio {
+
+ public RelatorioVendaBilhetePorEmpresaAutorizadora(Map parametros, Connection conexao)
+ throws Exception {
+ super(parametros, conexao);
+
+ this.setCustomDataSource(new ArrayDataSource(this) {
+ @Override
+ public void initDados() throws Exception {
+ Connection conexao = this.relatorio.getConexao();
+ Map parametros = this.relatorio.getParametros();
+ StringBuilder sql = new StringBuilder();
+ NamedParameterStatement stmt = getSql(conexao, parametros, sql);
+ setarParmetrosObrigatorios(parametros, stmt);
+ ResultSet rset = stmt.executeQuery();
+ rset.setFetchSize(1000);
+ getResultSet(rset);
+
+ this.resultSet = rset;
+ }
+
+ private void getResultSet(ResultSet rset) throws SQLException {
+ while (rset.next()) {
+
+ Map dataResult = new HashMap();
+
+ carregarDataResult(rset, dataResult);
+ this.dados.add(dataResult);
+
+ }
+ }
+
+ private void carregarDataResult(ResultSet rset, Map dataResult) throws SQLException {
+ dataResult.put("NUMPUNTOVENTA", rset.getString("NUMPUNTOVENTA"));
+ dataResult.put("CVEUSUARIO", rset.getString("CVEUSUARIO"));
+ dataResult.put("NOMBUSUARIO", rset.getString("NOMBUSUARIO"));
+ dataResult.put("QTDVENDAS", rset.getInt("QTDVENDAS"));
+ dataResult.put("VLRVENDAS", rset.getBigDecimal("VLRVENDAS"));
+ dataResult.put("QTDCANCELADOS", rset.getInt("QTDCANCELADOS"));
+ dataResult.put("VLRCANCELADOS", rset.getBigDecimal("VLRCANCELADOS"));
+ dataResult.put("DESCTIPO", rset.getString("DESCTIPO"));
+ }
+
+ private void setarParmetrosObrigatorios(Map parametros, NamedParameterStatement stmt)
+ throws SQLException {
+ if (parametros.get("EMPRESA_ID") != null) {
+ stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString()));
+ }
+
+ java.sql.Date d = new java.sql.Date(((Date) parametros.get("DATA_INICIAL")).getTime());
+
+ stmt.setDate("DATA_INICIAL", d);
+ stmt.setTimestamp("DATA_FINAL",
+ new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime()));
+ }
+
+ private NamedParameterStatement getSql(Connection conexao, Map parametros,
+ StringBuilder sql) throws SQLException {
+ sql.append("select ");
+ sql.append(" pv.NUMPUNTOVENTA, us.cveusuario , tpv.DESCTIPO, ");
+ sql.append(" us.NOMBUSUARIO, ");
+ sql.append(" sum (case when ca.motivocancelacion_id is null then 1 else 0 end) qtdVendas, ");
+ sql.append(" sum (case when ca.motivocancelacion_id is null then ");
+ sql.append(" (");
+ sql.append(" coalesce(ca.preciopagado,0) ");
+ sql.append(" + coalesce(ca.importepedagio,0) ");
+ sql.append(" + coalesce(ca.importetaxaembarque,0) ");
+ sql.append(" + coalesce(ca.importeseguro,0) ");
+ sql.append(" ) else 0 end ) vlrVendas, ");
+ sql.append(" (");
+ sql.append(
+ " sum (case when ca.motivocancelacion_id is not null then 1 else 0 end)) qtdCancelados, ");
+ sql.append(" sum (case when ca.motivocancelacion_id is not null then (");
+ sql.append(" coalesce(ca.preciopagado,0) ");
+ sql.append(" + coalesce(ca.importepedagio,0) ");
+ sql.append(" + coalesce(ca.importetaxaembarque,0) ");
+ sql.append(" + coalesce(ca.importeseguro,0) ");
+ sql.append(" ) else 0 end ) vlrCancelados ");
+ sql.append("from ");
+ sql.append(" caja ca ");
+ sql.append(" inner join usuario us on us.usuario_id = ca.usuario_id ");
+ sql.append(" inner join punto_venta pv on pv.puntoventa_id = ca.puntoventa_id ");
+ sql.append(" INNER JOIN TIPO_PTOVTA tpv ON tpv.TIPOPTOVTA_ID = pv.TIPOPTOVTA_ID ");
+ sql.append(" INNER JOIN ruta_empresa re on re.ruta_id=ca.ruta_id ");
+ sql.append(" join MARCA m on m.marca_id = ca.marca_id ");
+ sql.append("where ");
+ sql.append(" ca.activo = 1 ");
+ sql.append(" and ca.indreimpresion = 0 ");
+ sql.append(" and CA.FECHORVENTA >= :DATA_INICIAL AND CA.FECHORVENTA <= :DATA_FINAL ");
+ sql.append(" and re.empresa_autorizadora_id=:EMPRESAAUTORIZADORA_ID ");
+ if (parametros.get("EMPRESA_ID") != null) {
+ sql.append(" and m.EMPRESA_ID = :EMPRESA_ID");
+ }
+ if (parametros.get("NUMPUNTOVENTA") != null
+ && !parametros.get("NUMPUNTOVENTA").toString().contains("-1")) {
+ sql.append(" and ca.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
+ }
+ if (parametros.get("USUARIOIDS") != null && !parametros.get("USUARIOIDS").toString().contains("-1")) {
+ sql.append(" and ca.usuario_id IN (" + parametros.get("USUARIOIDS").toString() + ")");
+ }
+ sql.append(" group by pv.NUMPUNTOVENTA, us.cveusuario, tpv.DESCTIPO, ");
+ sql.append(" us.NOMBUSUARIO ");
+ sql.append(" order by pv.NUMPUNTOVENTA, ");
+ sql.append(" us.NOMBUSUARIO ");
+ NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString());
+ stmt.setInt("EMPRESAAUTORIZADORA_ID",
+ Integer.valueOf(parametros.get("EMPRESAAUTORIZADORA_ID").toString()));
+ return stmt;
+ }
+ });
+ }
+
+ @Override
+ protected void processaParametros() throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java
new file mode 100644
index 000000000..1b63d47f7
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java
@@ -0,0 +1,232 @@
+package com.rjconsultores.ventaboletos.relatorios.impl;
+
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusBoleto;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
+import com.rjconsultores.ventaboletos.utilerias.DateUtil;
+import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
+
+public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relatorio {
+
+ public RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico(Map parametros, Connection conexao)
+ throws Exception {
+ super(parametros, conexao);
+
+ this.setCustomDataSource(new ArrayDataSource(this) {
+ @Override
+ public void initDados() throws Exception {
+
+ Connection conexao = this.relatorio.getConexao();
+ Map parametros = this.relatorio.getParametros();
+
+ StringBuilder sql = new StringBuilder();
+
+ getSQL(parametros, sql);
+
+ NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString());
+ setarParmetrosObrigatorios(parametros, stmt);
+
+ ResultSet rset = stmt.executeQuery();
+
+ getResultSet(rset);
+
+ this.resultSet = rset;
+ }
+
+ private void getResultSet(ResultSet rset) throws SQLException {
+ while (rset.next()) {
+ Map dataResult = new HashMap();
+ carregarDataResult(rset, dataResult);
+ this.dados.add(dataResult);
+ }
+ }
+
+ private void carregarDataResult(ResultSet rset, Map dataResult) throws SQLException {
+ dataResult.put("CODIGO_AGENCIA", rset.getString("CODIGO_AGENCIA"));
+ dataResult.put("NOME_AGENCIA", rset.getString("NOME_AGENCIA"));
+ dataResult.put("CODIGO_BILHETEIRO", rset.getString("CODIGO_BILHETEIRO"));
+ dataResult.put("NOME_BILHETEIRO", rset.getString("NOME_BILHETEIRO"));
+ dataResult.put("NUMERO_PASSAGEM", rset.getBigDecimal("NUMERO_PASSAGEM"));
+ dataResult.put("ORIGEM", rset.getString("ORIGEM"));
+ dataResult.put("DESTINO", rset.getString("DESTINO"));
+ dataResult.put("TIPO_BILHETE", rset.getString("TIPO_BILHETE"));
+ dataResult.put("TX_EMBARQUE", rset.getBigDecimal("TX_EMBARQUE"));
+ dataResult.put("PEDAGIO", rset.getBigDecimal("PEDAGIO"));
+ dataResult.put("TARIFA", rset.getBigDecimal("TARIFA"));
+ dataResult.put("TOTAL_BILHETE", rset.getBigDecimal("TOTAL_BILHETE"));
+ dataResult.put("STATUS_PASSAGEM",
+ IndStatusBoleto.valueOf(rset.getString("STATUS_PASSAGEM")).getValue());
+ dataResult.put("SERVICO", rset.getBigDecimal("SERVICO"));
+ dataResult.put("DATA_VIAGEM", rset.getDate("DATA_VIAGEM"));
+ dataResult.put("CLASSE", rset.getString("CLASSE"));
+ String formasPagamento = rset.getString("descpago");
+ setarAsFormasDePagamento(dataResult, formasPagamento);
+ setarOsValoresDasFormasDePagamento(dataResult, formasPagamento);
+ }
+
+ private void setarOsValoresDasFormasDePagamento(Map dataResult, String formasPagamento) {
+ if (!StringUtils.isBlank(formasPagamento)) {
+ final String[] formaPagamento = formasPagamento.split("\\;");
+ if (formaPagamento.length > 1) {
+ int contador = 0;
+ while (contador < formaPagamento.length) {
+ String valorformapago = "VALORFORMAPAGO" + contador+1;
+ dataResult.put(valorformapago, formatarValorFormaDePagamento(formaPagamento[contador]));
+ contador ++;
+ }
+
+ } else {
+ dataResult.put("VALORFORMAPAGO1", formatarValorFormaDePagamento(formaPagamento[0]));
+ }
+ }
+ }
+
+ private void setarAsFormasDePagamento(Map dataResult, String formasPagamento) {
+ if (!StringUtils.isBlank(formasPagamento)) {
+ final String[] formaPagamento = formasPagamento.split("\\;");
+ if (formaPagamento.length > 1) {
+ int contador = 0;
+ while (contador < formaPagamento.length) {
+ String formaPago = "FORMAPAGO" + contador+1;
+ dataResult.put(formaPago, formatarFormaDePagamento(formaPagamento[contador]));
+ contador ++;
+ }
+
+ } else {
+ dataResult.put("FORMAPAGO1", formatarFormaDePagamento(formaPagamento[0]));
+ }
+
+
+ }
+ }
+
+ 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",
+ new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime()));
+ }
+
+ private void getSQL(Map parametros, StringBuilder sql) {
+ sql.append(" select pv.NUMPUNTOVENTA CODIGO_AGENCIA, ");
+ sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, ");
+ sql.append(" u.CVEUSUARIO CODIGO_BILHETEIRO, ");
+ sql.append(" u.NOMBUSUARIO NOME_BILHETEIRO, ");
+ sql.append(" c.NUMFOLIOSISTEMA NUMERO_PASSAGEM, ");
+ sql.append(" p_origen.DESCPARADA ORIGEM, ");
+ sql.append(" p_destino.DESCPARADA DESTINO, ");
+ sql.append(" ct.DESCCATEGORIA TIPO_BILHETE, ");
+ sql.append(" case when (c.INDREIMPRESION = 1 and c.MOTIVOREIMPRESION_ID = 99) then ");
+ sql.append(" 'R' else c.INDSTATUSBOLETO end STATUS_PASSAGEM,");
+ sql.append(" c.FECCORRIDA DATA_VIAGEM, ");
+ sql.append(" c.CORRIDA_ID SERVICO, ");
+ sql.append(" c.IMPORTEPEDAGIO PEDAGIO,");
+ sql.append(" c.IMPORTETAXAEMBARQUE TX_EMBARQUE,");
+ sql.append(" c.PRECIOPAGADO TARIFA,");
+ sql.append(
+ " (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");
+
+ sql.append(" from caja c ");
+ sql.append(" join PUNTO_VENTA pv on c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID ");
+ sql.append(" join USUARIO u on u.USUARIO_ID = c.USUARIO_ID ");
+ sql.append(" join PARADA p_origen on p_origen.PARADA_ID = c.ORIGEN_ID ");
+ sql.append(" join PARADA p_destino on p_destino.PARADA_ID = c.DESTINO_ID ");
+ sql.append(" join CATEGORIA ct on ct.CATEGORIA_ID = c.CATEGORIA_ID ");
+ sql.append(" join CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = c.CLASESERVICIO_ID ");
+ sql.append(" join MARCA m on m.marca_id = c.marca_id ");
+ 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(" m.EMPRESA_ID = :EMPRESA_ID ");
+ sql.append(" and re.empresa_autorizadora_id = :EMPRESAAUTORIZADORA_ID ");
+ sql.append(" and c.FECHORVENTA >= :DATA_INICIAL ");
+ sql.append(" and c.FECHORVENTA <= :DATA_FINAL ");
+ sql.append(" and ((c.indreimpresion = 1 ");
+ sql.append(
+ " AND (c.motivoreimpresion_id = 99 or c.motivocancelacion_id in (27) )) or c.indreimpresion = 0) ");
+ if (parametros.get("NUMPUNTOVENTA") != null && !possuiFiltroTodos("NUMPUNTOVENTA")) {
+ sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
+ }
+ if (parametros.get("BILHETEIRO") != null && !parametros.get("BILHETEIRO").equals("")) {
+ sql.append(" and u.NOMBUSUARIO like '" + parametros.get("BILHETEIRO") + "%'");
+ }
+ sql.append(" GROUP BY ");
+ sql.append(" pv.numpuntoventa, ");
+ sql.append(" pv.nombpuntoventa, ");
+ sql.append(" u.cveusuario, ");
+ sql.append(" u.nombusuario, ");
+ sql.append(" c.numfoliosistema, ");
+ sql.append(" p_origen.descparada, ");
+ sql.append(" p_destino.descparada, ");
+ sql.append(" ct.desccategoria , ");
+ sql.append(" CASE ");
+ sql.append(" WHEN ( c.indreimpresion = 1 ");
+ sql.append(" AND c.motivoreimpresion_id = 99 ) THEN ");
+ sql.append(" 'R' ");
+ sql.append(" ELSE ");
+ sql.append(" c.indstatusboleto ");
+ sql.append(" END, ");
+ sql.append(" c.feccorrida, ");
+ sql.append(" c.corrida_id, ");
+ sql.append(" c.importepedagio, ");
+ sql.append(" c.importetaxaembarque, ");
+ 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(" ORDER BY u.CVEUSUARIO, ");
+ sql.append(" u.NOMBUSUARIO, ");
+ sql.append(" pv.NUMPUNTOVENTA, ");
+ sql.append(" pv.NOMBPUNTOVENTA, ");
+ sql.append(" c.NUMFOLIOSISTEMA, ");
+ sql.append(" p_origen.DESCPARADA, ");
+ sql.append(" p_destino.DESCPARADA, ");
+ sql.append(" ct.DESCCATEGORIA, ");
+ sql.append(" c.FECCORRIDA, ");
+ sql.append(" c.CORRIDA_ID ");
+ }
+ });
+ }
+
+ @Override
+ protected void processaParametros() throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ private String formatarFormaDePagamento(String formaDePagamento) {
+ if (formaDePagamento != null) {
+ final String[] formaPagamentoAuxilar = formaDePagamento.split("\\/");
+ return formaPagamentoAuxilar[0];
+ }
+ return null;
+ }
+
+ private BigDecimal formatarValorFormaDePagamento(String formaDePagamento){
+ if(formaDePagamento!=null){
+ final String[] formaPagamentoAuxilar = formaDePagamento.split("\\/") ;
+ return formaPagamentoAuxilar.length>1? new BigDecimal(formaPagamentoAuxilar[1].replace(",", ".").trim()):new BigDecimal("0.0");
+ }
+ return null;
+ }
+}
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties
new file mode 100644
index 000000000..f39ccac7e
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties
@@ -0,0 +1,13 @@
+#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/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties
new file mode 100644
index 000000000..f39ccac7e
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties
@@ -0,0 +1,13 @@
+#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/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties
new file mode 100644
index 000000000..f39ccac7e
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties
@@ -0,0 +1,13 @@
+#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/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties
new file mode 100644
index 000000000..f39ccac7e
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties
@@ -0,0 +1,13 @@
+#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/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper
new file mode 100644
index 000000000..abd2440ec
Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper differ
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jrxml
new file mode 100644
index 000000000..c618728aa
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jrxml
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper
new file mode 100644
index 000000000..49a50227a
Binary files /dev/null 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
new file mode 100644
index 000000000..f4d28b0cf
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml
@@ -0,0 +1,474 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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
new file mode 100644
index 000000000..62827ac08
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java
@@ -0,0 +1,515 @@
+package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
+
+import java.sql.SQLException;
+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.Comboitem;
+import org.zkoss.zul.Datebox;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.Radio;
+import org.zkoss.zul.Textbox;
+
+import com.rjconsultores.ventaboletos.entidad.Empresa;
+import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.entidad.Usuario;
+import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendaBilhetePorEmpresaAutorizadora;
+import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico;
+import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
+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.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.RenderRelatorioCheckinUsuario;
+import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioCheckinUsuariosSelecionados;
+import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro;
+import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados;
+
+@Controller("relatorioVendaBilhetePorEmpresaAutorizadoraController")
+@Scope("prototype")
+public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGenericForwardComposer {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private static Logger log = Logger.getLogger(RelatorioVendaBilhetePorEmpresaAutorizadoraController.class);
+
+ @Autowired
+ private EmpresaService empresaService;
+ @Autowired
+ private DataSource dataSourceRead;
+
+ private Datebox datInicial;
+ private Datebox datFinal;
+
+ private MyComboboxEstandar cmbEmpresa;
+ private MyComboboxEstandar cmbEmpresaAutorizadora;
+
+ private List lsEmpresa;
+
+ @Autowired
+ private transient PagedListWrapper plwPuntoVenta;
+ @Autowired
+ private transient PagedListWrapper plwUsuario;
+
+ private MyTextbox txtNombrePuntoVenta;
+ private Bandbox bbPesquisaPuntoVenta;
+ private MyListbox puntoVentaList;
+ private MyListbox puntoVentaSelList;
+ private Paging pagingPuntoVenta;
+
+ private MyListbox usuarioList;
+ private MyListbox usuarioSelList;
+ private Paging pagingUsuario;
+ private Textbox txtPalavraPesquisa;
+ private Bandbox bbPesquisaBilhetero;
+
+ private List lsEmpresaAutorizadora;
+ private MyTextbox txtBilheteiro;
+
+ private Radio radioSintetico;
+ private Radio radioAnalitico;
+
+ private static final Short EMPRESA_OPERADORA = 4;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ lsEmpresaAutorizadora = buscarEmpresaDiferenteDeOperadora();
+ lsEmpresa = buscarEmpresaOperadora();
+ puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro());
+ puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados());
+ usuarioList.setItemRenderer(new RenderRelatorioCheckinUsuario());
+ usuarioSelList.setItemRenderer(new RenderRelatorioCheckinUsuariosSelecionados());
+
+ }
+
+ public List getLsEmpresa() {
+ return lsEmpresa;
+ }
+
+ public void setLsEmpresa(List lsEmpresa) {
+ this.lsEmpresa = lsEmpresa;
+ }
+
+ public List getLsEmpresaAutorizadora() {
+ return lsEmpresaAutorizadora;
+ }
+
+ public void setLsEmpresaAutorizadora(List lsEmpresaAutorizadora) {
+ this.lsEmpresaAutorizadora = lsEmpresaAutorizadora;
+ }
+
+ public EmpresaService getEmpresaService() {
+ return empresaService;
+ }
+
+ public void setEmpresaService(EmpresaService empresaService) {
+ this.empresaService = empresaService;
+ }
+
+ public DataSource getDataSourceRead() {
+ return dataSourceRead;
+ }
+
+ public void setDataSourceRead(DataSource dataSourceRead) {
+ this.dataSourceRead = dataSourceRead;
+ }
+
+ 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 MyComboboxEstandar getCmbEmpresa() {
+ return cmbEmpresa;
+ }
+
+ public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) {
+ this.cmbEmpresa = cmbEmpresa;
+ }
+
+ public MyComboboxEstandar getCmbEmpresaAutorizadora() {
+ return cmbEmpresaAutorizadora;
+ }
+
+ public void setCmbEmpresaAutorizadora(MyComboboxEstandar cmbEmpresaAutorizadora) {
+ this.cmbEmpresaAutorizadora = cmbEmpresaAutorizadora;
+ }
+
+ public PagedListWrapper getPlwPuntoVenta() {
+ return plwPuntoVenta;
+ }
+
+ public void setPlwPuntoVenta(PagedListWrapper plwPuntoVenta) {
+ this.plwPuntoVenta = plwPuntoVenta;
+ }
+
+ public PagedListWrapper getPlwUsuario() {
+ return plwUsuario;
+ }
+
+ public void setPlwUsuario(PagedListWrapper plwUsuario) {
+ this.plwUsuario = plwUsuario;
+ }
+
+ public MyTextbox getTxtNombrePuntoVenta() {
+ return txtNombrePuntoVenta;
+ }
+
+ public void setTxtNombrePuntoVenta(MyTextbox txtNombrePuntoVenta) {
+ this.txtNombrePuntoVenta = txtNombrePuntoVenta;
+ }
+
+ public Bandbox getBbPesquisaPuntoVenta() {
+ return bbPesquisaPuntoVenta;
+ }
+
+ public void setBbPesquisaPuntoVenta(Bandbox bbPesquisaPuntoVenta) {
+ this.bbPesquisaPuntoVenta = bbPesquisaPuntoVenta;
+ }
+
+ public MyListbox getPuntoVentaList() {
+ return puntoVentaList;
+ }
+
+ public void setPuntoVentaList(MyListbox puntoVentaList) {
+ this.puntoVentaList = puntoVentaList;
+ }
+
+ public MyListbox getPuntoVentaSelList() {
+ return puntoVentaSelList;
+ }
+
+ public void setPuntoVentaSelList(MyListbox puntoVentaSelList) {
+ this.puntoVentaSelList = puntoVentaSelList;
+ }
+
+ public Paging getPagingPuntoVenta() {
+ return pagingPuntoVenta;
+ }
+
+ public void setPagingPuntoVenta(Paging pagingPuntoVenta) {
+ this.pagingPuntoVenta = pagingPuntoVenta;
+ }
+
+ public MyListbox getUsuarioList() {
+ return usuarioList;
+ }
+
+ public void setUsuarioList(MyListbox usuarioList) {
+ this.usuarioList = usuarioList;
+ }
+
+ public MyListbox getUsuarioSelList() {
+ return usuarioSelList;
+ }
+
+ public void setUsuarioSelList(MyListbox usuarioSelList) {
+ this.usuarioSelList = usuarioSelList;
+ }
+
+ public Paging getPagingUsuario() {
+ return pagingUsuario;
+ }
+
+ public void setPagingUsuario(Paging pagingUsuario) {
+ this.pagingUsuario = pagingUsuario;
+ }
+
+ public Textbox getTxtPalavraPesquisa() {
+ return txtPalavraPesquisa;
+ }
+
+ public void setTxtPalavraPesquisa(Textbox txtPalavraPesquisa) {
+ this.txtPalavraPesquisa = txtPalavraPesquisa;
+ }
+
+ public Bandbox getBbPesquisaBilhetero() {
+ return bbPesquisaBilhetero;
+ }
+
+ public void setBbPesquisaBilhetero(Bandbox bbPesquisaBilhetero) {
+ this.bbPesquisaBilhetero = bbPesquisaBilhetero;
+ }
+
+ public MyTextbox getTxtBilheteiro() {
+ return txtBilheteiro;
+ }
+
+ public void setTxtBilheteiro(MyTextbox txtBilheteiro) {
+ this.txtBilheteiro = txtBilheteiro;
+ }
+
+ public static Short getEmpresaOperadora() {
+ return EMPRESA_OPERADORA;
+ }
+
+ 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("");
+ }
+
+ 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("relatorioVendasBilheteiroSinteticoController.window.title"), Messagebox.OK,
+ Messagebox.INFORMATION);
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ public void onClick$btnLimparUsu(Event ev) {
+ usuarioList.setData(new ArrayList());
+ bbPesquisaBilhetero.setText("");
+ }
+
+ public void onClick$btnPesquisaUsu(Event ev) {
+ executarPesquisaUsu();
+ }
+
+ public void onDoubleClick$usuarioList(Event ev) {
+ Usuario usuario = (Usuario) usuarioList.getSelected();
+ usuarioSelList.addItemNovo(usuario);
+ }
+
+ private void executarPesquisaUsu() {
+ HibernateSearchObject usuarioBusqueda = new HibernateSearchObject(Usuario.class,
+ pagingUsuario.getPageSize());
+ usuarioBusqueda.addFilterLike("nombusuario", "%" + txtPalavraPesquisa.getValue() + "%");
+ usuarioBusqueda.addSortAsc("nombusuario");
+ usuarioBusqueda.addFilterEqual("activo", Boolean.TRUE);
+ plwUsuario.init(usuarioBusqueda, usuarioList, pagingUsuario);
+ if (usuarioList.getData().length == 0) {
+ try {
+ Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
+ Labels.getLabel("indexController.mniRelatorioCheckin.label"), Messagebox.OK,
+ Messagebox.INFORMATION);
+ } catch (InterruptedException ex) {
+ log.error(ex);
+ }
+ }
+ }
+
+ private List buscarEmpresaDiferenteDeOperadora() {
+ List todasAsEmpresas = empresaService.obtenerTodos();
+ List empOperadoras = new ArrayList();
+ for (Empresa emp : todasAsEmpresas) {
+ if (emp.getIndTipo() != EMPRESA_OPERADORA) {
+ empOperadoras.add(emp);
+ }
+ }
+ return empOperadoras;
+ }
+
+ private List buscarEmpresaOperadora() {
+ List todasAsEmpresas = empresaService.obtenerTodos();
+ List empOperadoras = new ArrayList();
+ for (Empresa emp : todasAsEmpresas) {
+ if (emp.getIndTipo() == EMPRESA_OPERADORA) {
+ empOperadoras.add(emp);
+ }
+ }
+ return empOperadoras;
+ }
+
+ public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
+ executarRelatorio();
+ }
+
+ private void executarRelatorio() throws Exception {
+ Relatorio relatorio;
+ Map parametros = new HashMap();
+ StringBuilder filtro = new StringBuilder();
+
+
+
+ carregaValoresEmpresaAutorizadora(parametros, filtro);
+ carregaValoresEmpresa(parametros, filtro);
+ carregaValoresAgencia(parametros, filtro);
+
+ carregaValoresBilheteiro(parametros, filtro);
+
+ carregaDataInicial(parametros);
+ carregaDataFinal(parametros);
+ carregarUsuarioLogado(parametros);
+ carregarUsuarioLogado(parametros);
+ carregarOFiltro(parametros, filtro);
+
+ if (radioAnalitico.isChecked()) {
+ excutarRelatorioAnalitico(parametros);
+ } else {
+ executarRelatorioSintetico(parametros);
+ }
+ }
+
+ private void executarRelatorioSintetico(Map parametros) throws Exception, SQLException {
+ Relatorio relatorio;
+ parametros.put("NOME_RELATORIO",
+ Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value"));
+ relatorio = new RelatorioVendaBilhetePorEmpresaAutorizadora(parametros, dataSourceRead.getConnection());
+ Map args = new HashMap();
+ args.put("relatorio", relatorio);
+ openWindow("/component/reportView.zul",
+ Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value"), args, MODAL);
+ }
+
+ private void excutarRelatorioAnalitico(Map parametros) throws Exception, SQLException {
+ Relatorio relatorio;
+ parametros.put("NOME_RELATORIO",
+ Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value"));
+ relatorio = new RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico(parametros,
+ dataSourceRead.getConnection());
+ Map args = new HashMap();
+ args.put("relatorio", relatorio);
+ openWindow("/component/reportView.zul",
+ Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value"), args, MODAL);
+ }
+
+ private void carregarOFiltro(Map parametros, StringBuilder filtro) {
+ parametros.put("FILTROS", filtro.toString());
+ }
+
+ private void carregarUsuarioLogado(Map parametros) {
+ parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString());
+ }
+
+ private void carregaDataFinal(Map parametros) {
+ parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue());
+ }
+
+ private void carregaDataInicial(Map parametros) {
+ parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue());
+ }
+
+ private void carregaValoresBilheteiro(Map parametros, StringBuilder filtro) {
+ filtro.append("Usuarios: ");
+ String usuarioIds = "";
+ String usuarios = "";
+ List lsUsuarioSelecionados = new ArrayList(Arrays.asList(usuarioSelList.getData()));
+ if (lsUsuarioSelecionados.isEmpty()) {
+ usuarios = "Todos";
+ } else {
+ for (int i = 0; i < lsUsuarioSelecionados.size(); i++) {
+ Usuario usuario = lsUsuarioSelecionados.get(i);
+ usuarios = usuarios + usuario.getClaveUsuario() + ",";
+
+ usuarioIds = usuarioIds + usuario.getUsuarioId() + ",";
+ }
+
+ // removendo ultima virgula
+ usuarioIds = usuarioIds.substring(0, usuarioIds.length() - 1);
+ usuarios = usuarios.substring(0, usuarios.length() - 1);
+ parametros.put("USUARIOIDS", usuarioIds);
+ }
+ filtro.append(usuarios).append(";");
+ }
+
+ private void carregaValoresAgencia(Map parametros, StringBuilder filtro) {
+ filtro.append(" Agência: ");
+ 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);
+ }
+
+ filtro.append(puntoVentas).append(";");
+
+ }
+
+ private void carregaValoresEmpresa(Map parametros, StringBuilder filtro) {
+ filtro.append(" Empresa: ");
+
+ Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
+ if (itemEmpresa != null) {
+ Empresa empresa = (Empresa) itemEmpresa.getValue();
+ parametros.put("EMPRESA_ID", empresa.getEmpresaId());
+ parametros.put("EMPRESA", empresa.getNombempresa());
+ filtro.append(empresa.getNombempresa() + ";");
+ } else {
+ filtro.append(" Todas;");
+ }
+ }
+
+ private void carregaValoresEmpresaAutorizadora(Map parametros, StringBuilder filtro) {
+ filtro.append(" Empresa Autorizadora: ");
+ Comboitem itemEmpresaAutorizadora = cmbEmpresaAutorizadora.getSelectedItem();
+ if (itemEmpresaAutorizadora != null) {
+ Empresa empresa = (Empresa) itemEmpresaAutorizadora.getValue();
+ parametros.put("EMPRESAAUTORIZADORA_ID", empresa.getEmpresaId());
+ parametros.put("EMPRESAAUTORIZADORA", empresa.getNombempresa());
+ filtro.append(empresa.getNombempresa() + ";");
+ } else {
+ filtro.append(" Todas;");
+ }
+ }
+
+}
diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java
new file mode 100644
index 000000000..fa4a73504
--- /dev/null
+++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java
@@ -0,0 +1,27 @@
+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 ItemMenuVendaBilhetePorEmpresaAutorizadora extends DefaultItemMenuSistema {
+
+ public ItemMenuVendaBilhetePorEmpresaAutorizadora() {
+ super("indexController.mniRelatorioVendaPorEmpresaAutorizadora.label");
+ }
+
+ @Override
+ public String getClaveMenu() {
+ return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDABILHETEPOREMPRESAAUTORIZADO";
+ }
+
+ @Override
+ public void ejecutar() {
+ PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul",
+ Labels.getLabel("indexController.mniRelatorioVendaPorEmpresaAutorizadora.label"), 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 249ad5448..2ab4908e6 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
@@ -250,6 +250,7 @@ analitico.gerenciais.financeiro.aproveitamentoFinanceiro=com.rjconsultores.venta
analitico.gerenciais.financeiro.relatorioOperacionalFinanceiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCaixaOrgaoConcedente
analitico.gerenciais.financeiro.relatorioResumoVendaOrgaoConcedente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioResumoVendaOrgaoConcedente
analitico.gerenciais.financeiro.relatorioVendasConexaoRuta=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasConexaoRuta
+analitico.gerenciais.financeiro.relatorioVendaBilhetePorEmpresaAutorizadora=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuVendaBilhetePorEmpresaAutorizadora
analitico.gerenciais.pacote=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.pacote.SubMenuRelatorioPacote
analitico.gerenciais.pacote.boletos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPacotesBoletos
analitico.gerenciais.pacote.detalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPacotesDetalhado
diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label
index 9dcbf9b36..b0468b047 100644
--- a/web/WEB-INF/i3-label_en.label
+++ b/web/WEB-INF/i3-label_en.label
@@ -416,6 +416,7 @@ indexController.mniRelatorioCaixaOrgaoConcedente.label = Relatório Caixa por Ó
indexController.mniRelatorioPrecosPraticados.label = Relatório de Preços Praticados
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.mnSubMenuImpressaoFiscal.label=Impressão Fiscal
indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal
@@ -1340,6 +1341,27 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór
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.lbDatInicial.value = Data inicial
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário
+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
+
# Pantalla Editar Classe
editarClaseServicioController.window.title = Tipo de Classe
editarClaseServicioController.btnApagar.tooltiptext = Eliminar
diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label
index 67a2a12ba..121331958 100644
--- a/web/WEB-INF/i3-label_es_MX.label
+++ b/web/WEB-INF/i3-label_es_MX.label
@@ -392,6 +392,7 @@ indexController.mniRelatorioVendaConexaoLinha.label = Relatório Vendas de Cone
indexController.mniRelatorioPrecosPraticados.label = Relatório de Preços Praticados
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.mnSubMenuImpressaoFiscal.label=Impresión fiscal
indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importación fiscal
@@ -1130,6 +1131,28 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór
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.lbDatInicial.value = Data inicial
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário
+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
+
+
#Relatório Documentos Fiscais
relatorioDocumentosFiscaisController.window.title = Reporte Documentos Fiscais
relatorioDocumentosFiscaisController.lbDatInicial.value = Fecha Inicial
diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label
index 30267bff2..02db3df7a 100644
--- a/web/WEB-INF/i3-label_pt_BR.label
+++ b/web/WEB-INF/i3-label_pt_BR.label
@@ -417,6 +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.mnSubMenuImpressaoFiscal.label=Impressão Fiscal
indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal
@@ -1343,6 +1344,27 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór
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.lbDatInicial.value = Data inicial
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo
+relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário
+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
+
# 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
new file mode 100644
index 000000000..88f8db92c
--- /dev/null
+++ b/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file