diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGER.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGER.java new file mode 100644 index 000000000..11b6fa9cc --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGER.java @@ -0,0 +1,264 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioPassagensAGERBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioPassagensAGER extends Relatorio { + + private List lsDadosRelatorio; + private static Logger log = Logger.getLogger(RelatorioPassagensAGER.class); + + public RelatorioPassagensAGER(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + + @Override + public void initDados() throws Exception { + try { + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + String fecInicioVenda = null; + if (parametros.get("fecInicioVenda") != null) { + fecInicioVenda = parametros.get("fecInicioVenda").toString() + " 00:00:00"; + } + String fecFinalVenda = null; + if (parametros.get("fecFinalVenda") != null) { + fecFinalVenda = parametros.get("fecFinalVenda").toString() + " 23:59:59"; + } + + String linhaIds = parametros.get("linhaIds").toString(); + String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; + String codOrgaoConcedente = parametros.get("CodOrgaoConcedente").toString(); + + String sql = getSql(fecInicioVenda, fecFinalVenda, linhaIds, empresa, codOrgaoConcedente); + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + if (fecInicioVenda != null) { + stmt.setTimestamp("fecInicioVenda", new java.sql.Timestamp(sdf.parse(fecInicioVenda).getTime())); + } + + if (fecFinalVenda != null) { + stmt.setTimestamp("fecFinalVenda", new java.sql.Timestamp(sdf.parse(fecFinalVenda).getTime())); + } + + if (empresa != null && !empresa.equals("")) { + stmt.setInt("empresa_id", Integer.parseInt(empresa)); + } + + if (codOrgaoConcedente != null) { + stmt.setString("codOrgaoConcedente", codOrgaoConcedente); + } + + ResultSet rset = null; + + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + while (rset.next()) { + RelatorioPassagensAGERBean bean = new RelatorioPassagensAGERBean(); + + bean.setEmpresa(rset.getString("empresa")); + + bean.setCnpj(rset.getString("cnpj")); + bean.setDescLinha(rset.getString("descruta")); + bean.setDataVenda(rset.getString("datavenda")); + bean.setCategoria(rset.getString("categoria")); + bean.setStatus(rset.getString("status")); + bean.setChbpe(rset.getString("chbpe")); + bean.setNomePassageiro(rset.getString("NOMBPASAJERO")); + + + // bean.setOrgao(rset.getString("ORGAO")); + bean.setDataViagem(rset.getString("dataViagem")); + bean.setHoraViagem(rset.getString("horaViagem")); + bean.setCodOrigem(rset.getString("codOrigem")); + bean.setDescOrigem(rset.getString("descOrigem")); + bean.setCodDestino(rset.getString("codDestino")); + bean.setDescDestino(rset.getString("descDestino")); + bean.setPoltrona(rset.getString("poltrona")); + bean.setLinha(rset.getString("linha")); + bean.setNumBilhete(rset.getString("numBilhete")); + + bean.setRG(rset.getString("RG")); + bean.setUfOrgaoDoc(rset.getString("uforgaodoc")); + bean.setCPF(rset.getString("CPF")); + bean.setTel(rset.getString("tel")); + bean.setEmail(rset.getString("email")); + bean.setEndereco(rset.getString("endereco")); + bean.setDesistencia(rset.getBoolean("desistencia")); + bean.setOcupacao(rset.getString("ocupacao")); + + bean.setVlrTotal(rset.getBigDecimal("vlrTotal")); + + lsDadosRelatorio.add(bean); + } + + log.info("TAMANHO == null ? " + lsDadosRelatorio == null); + + if (lsDadosRelatorio.size() > 0) { + log.info("TAMANHO DA LISTA: " + lsDadosRelatorio.size()); + setLsDadosRelatorio(lsDadosRelatorio); + } + + } catch (Exception e) { + log.error("Erro na geração do relatorio AGER: \n" + e); + e.printStackTrace(); + throw e; + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(String fecInicioVenda, String fecFinalVenda, String linha, String empresa, String codOrgaoConcedente) { + + StringBuilder sql = new StringBuilder(); + + sql.append("SELECT OC.DESCORGAO AS ORGAO, "); + + sql.append("e.cnpj AS cnpj,"); + sql.append("TO_CHAR(bpe.dt_venda, 'DD/MM/YY') AS datavenda, "); + sql.append("r.descruta AS descruta, "); + sql.append("ca.desccategoria AS categoria, "); + sql.append("bpe.chbpe AS chbpe, "); + sql.append("b.preciopagado AS tarifa, "); + + sql.append(" case bpe.codstat "); + + sql.append(" when '100' then ( "); + sql.append(" case "); + sql.append(" when bpe.tiposubstituicao is null and bpeSub.bpe_id is null and bpe.indcontingencia = 0 then 'Autorizado' "); + sql.append(" when bpe.tiposubstituicao is null and bpeSub.bpe_id is null and bpe.indcontingencia = 1 then 'Aut.Conting.' "); + sql.append(" when bpe.tiposubstituicao is not null then 'Autorizado/Substituição' "); + sql.append(" when bpeSub.bpe_id is not null then 'Autorizado/Substituído' "); + sql.append(" else 'Autorizado' "); + sql.append(" end "); + sql.append(" ) "); + + sql.append(" when '102' then ( "); + sql.append(" case "); + sql.append(" when bpe.tiposubstituicao is not null then 'Substituição' "); + sql.append(" when bpeSub.bpe_id is not null then 'Substituído' "); + sql.append(" end "); + sql.append(" ) "); + + sql.append(" when '135' then ( "); + sql.append(" case bpe.tipoevento "); + sql.append(" when '110111' then 'Cancelado' "); + sql.append(" when '110115' then 'Não embarcado' "); + sql.append(" else '' "); + sql.append(" end "); + sql.append(" ) "); + + sql.append(" when '150' then 'Aut.Conting.' "); + sql.append(" when '-1' then 'Pendente Envio' "); + sql.append(" when '-2' then 'Pendente Envio' "); + sql.append(" when '-10' then 'Rejeitado Envio Contingência' "); + sql.append(" when '-20' then 'Rejeitado Envio Contingência' "); + + sql.append(" else 'Rejeitado' "); + sql.append(" end as status, "); + + sql.append("O.CODEMPRESAPORORGAO AS empresa,"); + sql.append("TO_CHAR(B.FECHORVIAJE, 'DD/MM/YY') AS dataViagem, "); + sql.append("TO_CHAR(b.FECHORVIAJE, 'HH24:MI') AS horaViagem, "); + sql.append("ori.cveparada AS codorigem, "); + sql.append("ori.descparada AS descorigem, "); + sql.append("des.cveparada AS coddestino, "); + sql.append("des.descparada AS descdestino, "); + sql.append("B.NUMASIENTO AS POLTRONA, "); + sql.append("b.NUMFOLIOSISTEMA AS NUMBILHETE, "); + sql.append("b.NOMBPASAJERO AS NOMBPASAJERO, "); + sql.append("CASE "); + sql.append("WHEN b.DESCNUMDOC IS NOT NULL "); + sql.append("THEN b.DESCNUMDOC ELSE c.NUMIDENTIFICAUNO "); + sql.append("END AS RG, "); + sql.append("b.descorgaodoc uforgaodoc, "); + sql.append("CASE "); + sql.append("WHEN b.DESCNUMDOC2 IS NOT NULL "); + sql.append("THEN b.DESCNUMDOC2 ELSE c.NUMIDENTIFICADOS "); + sql.append("END AS CPF, "); + sql.append("r.PREFIXO AS LINHA, "); + sql.append("cd.DESCCALLE || ', ' || cd.NUMEXTERIOR || '-' || "); + sql.append("cd.DESCIUDAD || '/' || cd.DESESTADO AS ENDERECO, "); + sql.append("c.NUMTELEFONO AS tel,"); + sql.append("c.DESCCORREO AS email, "); + sql.append("toc.DESCTIPO AS ocupacao, "); + sql.append("CASE "); + sql.append("WHEN B.MOTIVOCANCELACION_ID IN (31, 32, 90) "); + sql.append("THEN 1 ELSE 0 "); + sql.append("END AS DESISTENCIA, "); + sql.append(" (COALESCE(T.PRECIO, 0) + COALESCE(T.IMPORTEPEDAGIO,0)) "); + sql.append("-(COALESCE(b.PRECIOPAGADO, 0) + COALESCE(b.IMPORTEPEDAGIO,0)) AS vlrTotal "); + sql.append("FROM BOLETO b "); + sql.append("LEFT JOIN categoria ca ON b.categoria_id = ca.categoria_id "); + sql.append("LEFT JOIN empresa e ON e.empresa_id = b.EMPRESACORRIDA_ID "); + sql.append("LEFT JOIN marca m ON m.EMPRESA_ID = e.EMPRESA_ID "); + sql.append("LEFT JOIN parada ori ON ori.parada_id = b.origen_id "); + sql.append("LEFT JOIN parada des ON des.parada_id = b.destino_id "); + sql.append("LEFT JOIN ruta r ON r.ruta_id = b.ruta_id "); + sql.append("LEFT JOIN cliente c ON c.cliente_id = b.cliente_id "); + sql.append("LEFT JOIN CLIENTE_DIRECCION cd ON cd.cliente_id = c.cliente_id AND cd.ACTIVO = 1 "); + sql.append("LEFT JOIN TIPO_OCUPACION toc ON toc.TIPOOCUPACION_ID = b.TIPOOCUPACION_ID "); + sql.append("LEFT JOIN ORGAO_CONCEDENTE OC ON r.ORGAOCONCEDENTE_ID = OC.ORGAOCONCEDENTE_ID "); + sql.append("LEFT JOIN ORGAO_EMP_PARAM O ON e.empresa_id = O.EMPRESA_ID AND OC.ORGAOCONCEDENTE_ID = O.ORGAOCONCEDENTE_ID AND O.ACTIVO = 1 "); + sql.append("LEFT JOIN TARIFA T ON r.RUTA_ID = T.RUTA_ID AND b.ORIGEN_ID = T.ORIGEN_ID AND b.DESTINO_ID = T.DESTINO_ID AND b.CLASESERVICIO_ID = T.CLASESERVICIO_ID AND m.MARCA_ID = T.MARCA_ID AND oc.ORGAOCONCEDENTE_ID = T.ORGAOCONCEDENTE_ID "); + sql.append("INNER JOIN VIGENCIA_TARIFA vt ON vt.VIGENCIATARIFA_ID = t.VIGENCIATARIFA_ID AND b.FECHORVIAJE BETWEEN vt.FECINICIOVIGENCIA AND vt.FECFINVIGENCIA "); + sql.append("LEFT JOIN bpe bpe ON b.boleto_id = bpe.boleto_id "); + sql.append("LEFT JOIN bpe bpesub ON ( bpesub.bpesubstituicao_id = bpe.bpe_id AND bpesub.activo = 1 ) "); + + sql.append("WHERE b.MOTIVOCANCELACION_ID IS NULL "); + sql.append("AND b.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda "); + sql.append("AND (b.MOTIVOCANCELACION_ID not in (4) or b.MOTIVOCANCELACION_ID is null) "); + + if (linha != null && !linha.equals("Todas")) { + sql.append(" AND r.ruta_id in (").append(linha).append(") "); + } + + if (!empresa.isEmpty()) { + sql.append("AND b.empresacorrida_id = :empresa_id "); + } + + if (codOrgaoConcedente != null) { + sql.append(" AND OC.ORGAOCONCEDENTE_ID = :codOrgaoConcedente"); + } + + sql.append(" group by OC.DESCORGAO, O.CODEMPRESAPORORGAO, B.FECHORVIAJE, ca.desccategoria, "); + sql.append(" ori.cveparada, ori.descparada, des.cveparada, B.NUMASIENTO, des.descparada, "); + sql.append(" b.FECCORRIDA, C.NUMTELEFONO,toc.DESCTIPO, c.DESCCORREO, CASE WHEN b.DESCNUMDOC IS NOT NULL THEN b.DESCNUMDOC ELSE c.NUMIDENTIFICAUNO END, "); + sql.append(" b.NUMFOLIOSISTEMA, CASE WHEN b.DESCNUMDOC2 IS NOT NULL THEN b.DESCNUMDOC2 ELSE c.NUMIDENTIFICADOS END, b.NOMBPASAJERO, b.NUMIDENTIFICACION, T.PRECIO, b.PRECIOPAGADO, b.descorgaodoc, r.PREFIXO, cd.DESCCALLE || ', ' || cd.NUMEXTERIOR || '-' || cd.DESCIUDAD || '/' || cd.DESESTADO, B.MOTIVOCANCELACION_ID, "); + sql.append(" T.IMPORTEOUTROS, T.IMPORTEPEDAGIO, T.IMPORTESEGURO, T.IMPORTETAXAEMBARQUE, T.IMPORTETPP, b.descorgaodoc, "); + sql.append(" b.IMPORTECATEGORIA, b.IMPORTEOUTROS, b.IMPORTEPEDAGIO, b.IMPORTESEGURO, b.IMPORTETAXAEMBARQUE, b.IMPORTETPP, e.nombempresa, e.cnpj, bpe.dt_venda, r.descruta, bpe.codstat, bpe.tiposubstituicao, bpesub.bpe_id, bpe.indcontingencia, bpe.tipoevento, bpe.chbpe "); + + sql.append(" ORDER BY OC.DESCORGAO, O.CODEMPRESAPORORGAO, b.FECHORVIAJE, descorigem, descdestino "); + + return sql.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_es.properties new file mode 100644 index 000000000..b80c8d7fa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_es.properties @@ -0,0 +1,49 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +header.filtro.servico=Serviço\: +header.filtro.linha=Linha\: +header.filtro.grupo=Grupo de Linhas\: +header.empresa=Empresa\: +header.periodo.viagem=Período Viagem\: +header.periodo.venda=Período Venda\: +header.orgaoConcedente=Orgão Concedente\: +header.tipopassagem=Tipo Passagem\: + +#Labels detail + +detail.poltrona=Poltrona +detail.numBilhete=N° Bilhete +detail.ufOrgaoEmissor=UF do órgão emissor +detail.endereco=Endereço +detail.ocupacao=Ocupação +detail.telEmail=Tel/\nE-mail +detail.desistencia=Houve Desistência? +detail.gratuidade=Valor Gratuidade concedida + +detail.empresa=Empresa +detail.cnpj=CNPJ da Empresa +detail.codLinha=Código Linha +detail.linha=Linha +detail.dataEmissao=Data da Emissão do Bilhete +detail.nome=Nome +detail.rg=RG +detail.cpf=CPF +detail.tarifa=Tarifa +detail.outros=Outros +detail.total=Valor Total +detail.desconto=Valor do Desconto +detail.pagar=Valor a Pagar +detail.categoria=Tipo de Passagem +detail.origem=Origem +detail.destino=Destino +detail.dataViagem=Data Viagem +detail.horaViagem=Horário da Viagem +detail.status=STATUS do BP-e +detail.chave=Chave de Acesso do BP-e \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_pt_BR.properties new file mode 100644 index 000000000..b80c8d7fa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassagensAGER_pt_BR.properties @@ -0,0 +1,49 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +header.filtro.servico=Serviço\: +header.filtro.linha=Linha\: +header.filtro.grupo=Grupo de Linhas\: +header.empresa=Empresa\: +header.periodo.viagem=Período Viagem\: +header.periodo.venda=Período Venda\: +header.orgaoConcedente=Orgão Concedente\: +header.tipopassagem=Tipo Passagem\: + +#Labels detail + +detail.poltrona=Poltrona +detail.numBilhete=N° Bilhete +detail.ufOrgaoEmissor=UF do órgão emissor +detail.endereco=Endereço +detail.ocupacao=Ocupação +detail.telEmail=Tel/\nE-mail +detail.desistencia=Houve Desistência? +detail.gratuidade=Valor Gratuidade concedida + +detail.empresa=Empresa +detail.cnpj=CNPJ da Empresa +detail.codLinha=Código Linha +detail.linha=Linha +detail.dataEmissao=Data da Emissão do Bilhete +detail.nome=Nome +detail.rg=RG +detail.cpf=CPF +detail.tarifa=Tarifa +detail.outros=Outros +detail.total=Valor Total +detail.desconto=Valor do Desconto +detail.pagar=Valor a Pagar +detail.categoria=Tipo de Passagem +detail.origem=Origem +detail.destino=Destino +detail.dataViagem=Data Viagem +detail.horaViagem=Horário da Viagem +detail.status=STATUS do BP-e +detail.chave=Chave de Acesso do BP-e \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jasper new file mode 100644 index 000000000..e80494670 Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jrxml new file mode 100644 index 000000000..304a9b9bf --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassagensAGER.jrxml @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="126"> + <textField> + <reportElement x="0" y="0" width="689" height="37" uuid="8c77b68e-7c9d-4b71-8cc1-fbb6aaf36f9c"/> + <textElement markup="styled"> + <font size="22" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm"> + <reportElement x="802" y="0" width="105" height="37" uuid="32538cdd-7697-4a03-8035-f9474e869395"/> + <textElement textAlignment="Left"/> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField> + <reportElement x="689" y="0" width="113" height="37" uuid="abc399f3-d012-46aa-b4e9-678ab812bee4"/> + <textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="131" y="37" width="799" height="20" uuid="f25e6675-4dcb-4d37-8586-e50abe4013af"/> + <textFieldExpression><![CDATA[( $P{fecInicioVenda} != null ? ($P{fecInicioVenda} + " à " + $P{fecFinalVenda}) : "" )]]></textFieldExpression> + </textField> + <textField> + <reportElement x="1" y="37" width="130" height="20" uuid="e15cecc4-995a-4cbc-934e-44970c809849"/> + <textFieldExpression><![CDATA[$R{header.periodo.venda}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="2" y="56" width="130" height="20" isRemoveLineWhenBlank="true" uuid="d3d41ddb-2dbb-4b0e-bf82-02af7f81b63f"/> + <textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="131" y="96" width="799" height="20" isRemoveLineWhenBlank="true" uuid="c61794c6-537b-4cab-9a5c-41c3101cdaac"/> + <textFieldExpression><![CDATA[$P{orgaoConcedente}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="2" y="96" width="130" height="20" isRemoveLineWhenBlank="true" uuid="7a4f4ad0-6b74-4194-b089-2bf61e0b7ce4"/> + <textFieldExpression><![CDATA[$R{header.orgaoConcedente}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="131" y="76" width="799" height="20" isRemoveLineWhenBlank="true" uuid="7bc881ef-b270-4178-8416-54ad2602eaab"/> + <textFieldExpression><![CDATA[$P{linhas}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="131" y="56" width="799" height="20" isRemoveLineWhenBlank="true" uuid="33bc773a-8bd3-4bc0-946c-664d78a19f5c"/> + <textFieldExpression><![CDATA[$P{nomb_empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="2" y="76" width="130" height="20" isRemoveLineWhenBlank="true" uuid="c3b8e525-e015-4aaa-a505-1a92f3d6b0fb"/> + <textFieldExpression><![CDATA[$R{header.filtro.linha}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioPassagensAGERBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioPassagensAGERBean.java new file mode 100644 index 000000000..bac778acd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioPassagensAGERBean.java @@ -0,0 +1,296 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; + +public class RelatorioPassagensAGERBean { + + private String empresa; + private String dataViagem; + private String orgao; + private String horaViagem; + private String codOrigem; + private String descOrigem; + private String codDestino; + private String descDestino; + private String poltrona; + private String linha; + private String numBilhete; + private String nomeIdoso; + private String RG; + private String ufOrgaoDoc; + private String CPF; + private String endereco; + private String tel; + private String email; + private String ocupacao; + private Boolean desistencia; + private BigDecimal vlrTotal; + private String cnpj; + private String descLinha; + private String dataVenda; + private String categoria; + private String status; + private String chbpe; + private String nomePassageiro; + private String outros; + private BigDecimal valorTarifa; + private BigDecimal valorDesconto; + private BigDecimal valorPagar; + + public String getEmpresa() { + return empresa; + } + + public void setEmpresa(String empresa) { + this.empresa = empresa; + } + + public String getDataViagem() { + return dataViagem; + } + + public void setDataViagem(String dataViagem) { + this.dataViagem = dataViagem; + } + + public String getHoraViagem() { + return horaViagem; + } + + public void setHoraViagem(String horaViagem) { + this.horaViagem = horaViagem; + } + + public String getCodOrigem() { + return codOrigem; + } + + public void setCodOrigem(String codOrigem) { + this.codOrigem = codOrigem; + } + + public String getDescOrigem() { + return descOrigem; + } + + public void setDescOrigem(String descOrigem) { + this.descOrigem = descOrigem; + } + + public String getCodDestino() { + return codDestino; + } + + public void setCodDestino(String codDestino) { + this.codDestino = codDestino; + } + + public String getDescDestino() { + return descDestino; + } + + public void setDescDestino(String descDestino) { + this.descDestino = descDestino; + } + + public String getPoltrona() { + return poltrona; + } + + public void setPoltrona(String poltrona) { + this.poltrona = poltrona; + } + + public String getLinha() { + return linha; + } + + public void setLinha(String linha) { + this.linha = linha; + } + + public String getNumBilhete() { + return numBilhete; + } + + public void setNumBilhete(String numBilhete) { + this.numBilhete = numBilhete; + } + + public String getNomeIdoso() { + return nomeIdoso; + } + + public void setNomeIdoso(String nomeIdoso) { + this.nomeIdoso = nomeIdoso; + } + + public String getRG() { + return RG; + } + + public void setRG(String rG) { + RG = rG; + } + + public String getUfOrgaoDoc() { + return ufOrgaoDoc; + } + + public void setUfOrgaoDoc(String ufOrgaoDoc) { + this.ufOrgaoDoc = ufOrgaoDoc; + } + + public String getCPF() { + return CPF; + } + + public void setCPF(String cPF) { + CPF = cPF; + } + + public String getEndereco() { + return endereco; + } + + public void setEndereco(String endereco) { + this.endereco = endereco; + } + + public String getTel() { + return tel; + } + + public void setTel(String tel) { + this.tel = tel; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Boolean getDesistencia() { + return desistencia; + } + + public void setDesistencia(Boolean desistencia) { + this.desistencia = desistencia; + } + + public BigDecimal getVlrTotal() { + return vlrTotal; + } + + public void setVlrTotal(BigDecimal vlrTotal) { + this.vlrTotal = vlrTotal; + } + + public String getOrgao() { + return orgao; + } + + public void setOrgao(String orgao) { + this.orgao = orgao; + } + + public String getOcupacao() { + return ocupacao; + } + + public void setOcupacao(String ocupacao) { + this.ocupacao = ocupacao; + } + + public String getCnpj() { + return cnpj; + } + + public void setCnpj(String cnpj) { + this.cnpj = cnpj; + } + + public String getDescLinha() { + return descLinha; + } + + public void setDescLinha(String descLinha) { + this.descLinha = descLinha; + } + + public String getDataVenda() { + return dataVenda; + } + + public void setDataVenda(String dataVenda) { + this.dataVenda = dataVenda; + } + + public String getCategoria() { + return categoria; + } + + public void setCategoria(String categoria) { + this.categoria = categoria; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getChbpe() { + return chbpe; + } + + public void setChbpe(String chbpe) { + this.chbpe = chbpe; + } + + public String getNomePassageiro() { + return nomePassageiro; + } + + public void setNomePassageiro(String nomePassageiro) { + this.nomePassageiro = nomePassageiro; + } + + public String getOutros() { + return outros; + } + + public void setOutros(String outros) { + this.outros = outros; + } + + public BigDecimal getValorTarifa() { + return valorTarifa; + } + + public void setValorTarifa(BigDecimal valorTarifa) { + this.valorTarifa = valorTarifa; + } + + public BigDecimal getValorDesconto() { + return valorDesconto; + } + + public void setValorDesconto(BigDecimal valorDesconto) { + this.valorDesconto = valorDesconto; + } + + public BigDecimal getValorPagar() { + return valorPagar; + } + + public void setValorPagar(BigDecimal valorPagar) { + this.valorPagar = valorPagar; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java index 69aa28d9d..589813d19 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java @@ -33,6 +33,7 @@ import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.MotivoCancelacionService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.RutaService; +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.MyComboboxPuntoVenta; @@ -245,14 +246,29 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { - - lsLinhas = rutaService.obtenerTodos(); - lsEmpresas = empresaService.obtenerTodos(); - lsCategorias = categoriaService.obtenerTodos(); - lsOrgaoConcedente = orgaocConcedenteService.obtenerTodos(); - listSelectedTipoGratuidade = new ArrayList(); - super.doAfterCompose(comp); + + Boolean isAGER = Boolean.FALSE; + + if(arg.get("isAGER") != null){ + isAGER = (Boolean) arg.get("isAGER"); + } + + if (isAGER) { + lsOrgaoConcedente = orgaocConcedenteService.buscar("AGER/MT"); + OrgaoConcedente orgao = lsOrgaoConcedente.get(0); + cmbOrgaoConcedente.setText(lsOrgaoConcedente.isEmpty() ? "" : orgao.getDescOrgao()); + lsCategorias = categoriaService.buscarCategoriaOrgaoConcedente(orgao.getDescOrgao()); + lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); + lsLinhas = rutaService.buscaRutasFromOrgao(orgao); + } else { + lsOrgaoConcedente = orgaocConcedenteService.obtenerTodos(); + lsCategorias = categoriaService.obtenerTodos(); + lsEmpresas = empresaService.obtenerTodos(); + lsLinhas = rutaService.obtenerTodos(); + } + + listSelectedTipoGratuidade = new ArrayList(); } public List getLsEmpresas() { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassagensAGERController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassagensAGERController.java new file mode 100644 index 000000000..e501eb7e0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassagensAGERController.java @@ -0,0 +1,283 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +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.Datebox; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.PerfilFuncion; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioPassagensAGER; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.service.UsuarioService; +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.render.RenderRelatorioLinhaHorario; + +@Controller("relatorioPassagensAGERController") +@Scope("prototype") +public class RelatorioPassagensAGERController extends MyGenericForwardComposer { + private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; + @Autowired + private CategoriaService categoriaService; + @Autowired + private UsuarioService usuarioService; + @Autowired + private RutaService rutaService; + @Autowired + private OrgaoConcedenteService orgaoConcedenteService; + + private Datebox datInicialVenda; + private Datebox datFinalVenda; + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbOrgaoConcedente; + + private List lsCategorias; + private List lsEmpresas; + private List lsOrgaosConcedentes; + + private Textbox txtPalavraPesquisaLinha; + private MyListbox linhaList; + private MyListbox linhaListSelList; + + private static Logger log = Logger.getLogger(RelatorioPassagensAGERController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); + + if (temPermissao("USUARIO.RELATORIO.AGER")) { + lsOrgaosConcedentes = orgaoConcedenteService.buscar("AGER/MT"); + cmbOrgaoConcedente.setText(lsOrgaosConcedentes.isEmpty() ? "" : lsOrgaosConcedentes.get(0).getDescOrgao()); + + } else { + lsOrgaosConcedentes = orgaoConcedenteService.obtenerTodos(); + lsCategorias = categoriaService.obtenerTodos(); + } + + linhaList.setItemRenderer(new RenderRelatorioLinhaHorario()); + linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario()); + } + + private void executarPesquisaLinha() { + + String palavraPesquisaRuta = txtPalavraPesquisaLinha.getText(); + + if (temPermissao("USUARIO.RELATORIO.AGER")) { + if (cmbOrgaoConcedente.getSelectedItem() == null) { + return; + } + OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue(); + linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta, orgaoConcedente)); + } else { + linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta)); + } + + if (linhaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioLinhasHorarioController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + private void executarRelatorio() throws Exception { + + Map parametros = new HashMap(); + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + if (this.datInicialVenda.getValue() != null) { + parametros.put("fecInicioVenda", sdf.format(this.datInicialVenda.getValue())); + } + + if (this.datFinalVenda.getValue() != null) { + parametros.put("fecFinalVenda", sdf.format(this.datFinalVenda.getValue())); + } + + if (cmbOrgaoConcedente.getSelectedIndex() == -1) { + Messagebox.show(Labels.getLabel("relatorioPassagensAGERController.orgaoConcedente.obrigatorio"), + Labels.getLabel("relatorioPassagensController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (parametros.get("fecInicioVenda") == null && parametros.get("datFinalVenda") == null) { + Messagebox.show(Labels.getLabel("relatorioPassagensAGERController.data.obrigatoria"), + Labels.getLabel("relatorioPassagensController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + StringBuilder linhas = new StringBuilder(); + StringBuilder linhaIds = new StringBuilder(); + + if (linhaListSelList.getListData().isEmpty()) { + linhas.append("Todas"); + linhaIds.append("Todas"); + } else { + for (Object obj : linhaListSelList.getListData()) { + Ruta ruta = (Ruta) obj; + linhas.append(ruta.getDescruta()).append(","); + linhaIds.append(ruta.getRutaId()).append(","); + } + + // removendo ultima virgula + linhaIds = linhaIds.delete(linhaIds.length() - 1, linhaIds.length()); + linhas = linhas.delete(linhas.length() - 1, linhas.length()); + } + + parametros.put("linhas", linhas.append(";").toString()); + parametros.put("linhaIds", linhaIds.toString()); + + if (cmbEmpresa.getSelectedIndex() != -1) { + parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId()); + parametros.put("nomb_empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getNombempresa()); + } else { + parametros.put("nomb_empresa", "Todas"); + } + + if (cmbOrgaoConcedente.getSelectedIndex() != -1) { + parametros.put("orgaoConcedente", ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()).getDescOrgao()); + parametros.put("CodOrgaoConcedente", ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()).getOrgaoConcedenteId()); + } + + parametros.put("TITULO", Labels.getLabel("relatorioPassagensAGERController.window.title")); + + Relatorio relatorio = new RelatorioPassagensAGER(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioPassagensAGERController.window.title"), args, MODAL); + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public void onClick$btnPesquisaLinha(Event ev) { + executarPesquisaLinha(); + } + + public void onClick$btnLimparLinha(Event ev) { + linhaList.clearSelection(); + linhaListSelList.setData(new ArrayList()); + + linhaList.setItemRenderer(new RenderRelatorioLinhaHorario()); + linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario()); + } + + public void onDoubleClick$linhaList(Event ev) { + linhaListSelList.addItemNovo(linhaList.getSelected()); + } + + private boolean temPermissao(String permissao) { + Usuario usuario = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + for (UsuarioPerfil up : usuario.getUsuarioPerfilList()) { + List listPerfilFuncion = up.getPerfil().getPerfilFuncionList(); + for (PerfilFuncion pf : listPerfilFuncion) { + if (pf.getFuncionSistema().getDescruta().equals(permissao)) { + return true; + } + } + } + return false; + } + + public List getLsCategorias() { + return lsCategorias; + } + + public void setLsCategorias(List lsCategorias) { + this.lsCategorias = lsCategorias; + } + + public Datebox getDatInicialVenda() { + return datInicialVenda; + } + + public void setDatInicialVenda(Datebox datInicialVenda) { + this.datInicialVenda = datInicialVenda; + } + + public Datebox getDatFinalVenda() { + return datFinalVenda; + } + + public void setDatFinalVenda(Datebox datFinalVenda) { + this.datFinalVenda = datFinalVenda; + } + + public MyListbox getLinhaListSelList() { + return linhaListSelList; + } + + public void setLinhaListSelList(MyListbox linhaListSelList) { + this.linhaListSelList = linhaListSelList; + } + + public Textbox getTxtPalavraPesquisaLinha() { + return txtPalavraPesquisaLinha; + } + + public void setTxtPalavraPesquisaLinha(Textbox txtPalavraPesquisaLinha) { + this.txtPalavraPesquisaLinha = txtPalavraPesquisaLinha; + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + + public List getLsOrgaosConcedentes() { + return lsOrgaosConcedentes; + } + + public void setLsOrgaosConcedentes(List lsOrgaosConcedentes) { + this.lsOrgaosConcedentes = lsOrgaosConcedentes; + } + + public MyComboboxEstandar getCmbOrgaoConcedente() { + return cmbOrgaoConcedente; + } + + public void setCmbOrgaoConcedente(MyComboboxEstandar cmbOrgaoConcedente) { + this.cmbOrgaoConcedente = cmbOrgaoConcedente; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/estatisticos/SubMenuRelatorioAGER.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/estatisticos/SubMenuRelatorioAGER.java new file mode 100644 index 000000000..7f86e0d94 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/estatisticos/SubMenuRelatorioAGER.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class SubMenuRelatorioAGER extends DefaultItemMenuSistema { + + public SubMenuRelatorioAGER() { + super("indexController.mnSubMenuAGER.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS"; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioPassagensAGER.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioPassagensAGER.java new file mode 100644 index 000000000..243597b71 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioPassagensAGER.java @@ -0,0 +1,31 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import java.util.Map; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioPassagensAGER extends DefaultItemMenuSistema { + + public ItemMenuRelatorioPassagensAGER() { + super("indexController.mniRelatorioPassagensAGER.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOPASSAGENSAGER"; + } + + @SuppressWarnings("unchecked") + @Override + public void ejecutar() { + Map map = super.getArgs(); + map.put("isAGER", Boolean.TRUE); + + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioGratuidade.zul", + Labels.getLabel("relatorioPassagensAGERController.window.title"), map , 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 cb6560f64..490632aea 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 @@ -190,7 +190,9 @@ analitico.gerenciais.estatisticos.relatorioCorridas=com.rjconsultores.ventabolet analitico.gerenciais.estatisticos.gratuidades=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeANTT analitico.gerenciais.estatisticos.gratuidadeAGR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGR analitico.gerenciais.estatisticos.gratuidadeARTESP=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeARTESP -analitico.gerenciais.estatisticos.gratuidadeAGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGER +analitico.gerenciais.estatisticos.AGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos.SubMenuRelatorioAGER +analitico.gerenciais.estatisticos.AGER.gratuidadeAGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGER +analitico.gerenciais.estatisticos.AGER.passagensAGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioPassagensAGER analitico.gerenciais.estatisticos.gratuidadesANTT=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidade analitico.gerenciais.estatisticos.mensalDAER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMensalDAER analitico.gerenciais.estatisticos.gratuidadesIdosoDeficiente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeIdosoDeficiente diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 782e130c8..4170fa494 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -322,6 +322,7 @@ indexController.mniRelatorioGratuidadeANTT.label=Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeAGR.label = Gratuidades AGR indexController.mniRelatorioGratuidadeARTESP.label=Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeAGER.label=Relatório Gratuidade AGER +indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER indexController.mniRelatorioOperacionalFinanceiro.label=Financial Operating indexController.mniRelatorioBilhetesVendidos.label=Sales Ticket indexController.mniRelatorioGratuidadeIdosoDeficiente.label=Gratuidades Idoso/Deficiente @@ -471,6 +472,8 @@ indexController.mniRelatorioConferenciaFormularioFisico.label=Conferência de indexController.mniAuditoria.label=Audit indexController.tipoConfComissao.label=Tipo Conf. Pend. Comissão indexController.mniIntegracaoTotvs.label=Integração Totvs + +indexController.mnSubMenuAGER.label=Relatório AGER # Relatório de Forma de Pagamento por Agência formaPagamentoAgenciaController.mniRelatorioFinanceiro.label=Payment Method by Point of Sale @@ -8853,6 +8856,26 @@ relatorioGratuidadeAGERController.lbNumRuta.value=Num. Linha relatorioGratuidadeAGERController.lbPrefixo.value=Prefixo relatorioGratuidadeAGERController.lvVenda=Venda relatorioGratuidadeAGERController.lbOrgao.value=Orgão Concedente + +# Relatório Passagens AGER +relatorioPassagensAGERController.window.title = Relatório Passagens AGER +relatorioPassagensAGERController.data.obrigatoria = Data inicial e Final são obrigatórias +relatorioPassagensAGERController.orgaoConcedente.obrigatorio = Orgão Concedente é obrigatório +relatorioPassagensAGERController.tipo.obrigatoria = Tipo de passagens é obrigatório +relatorioPassagensAGERController.lbEmpresa.value = Empresa +relatorioPassagensAGERController.lbAgencia.value = Agência +relatorioPassagensAGERController.lbLinha.value = Linha +relatorioPassagensAGERController.lbOrigem.value = Origem +relatorioPassagensAGERController.lbDestino.value = Destino +relatorioPassagensAGERController.lbDataIniVenda.value = Data Inicio +relatorioPassagensAGERController.lbDataFinVenda.value = Data Fim +relatorioPassagensAGERController.btnPesquisa.value = Pesquisar +relatorioPassagensAGERController.btnLimpar.value = Limpar +relatorioPassagensAGERController.lbNumRuta.value = Num. Linha +relatorioPassagensAGERController.lbPrefixo.value = Prefixo +relatorioPassagensAGERController.lvVenda = Venda +relatorioPassagensAGERController.lbOrgao.value = Orgão Concedente + editarEmpresaController.usarAliasMapaViagemVenda.ajuda=Na tela de Venda o botão de Mapa de Viagem deve usar Alias para as Localidades. editarClienteController.MSG.validacaoCPFInvalido=CPF inválido diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 23ed4b6ad..dbb485c66 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -476,6 +476,8 @@ indexController.mniTipoConvenio.label = Tipo convenio indexController.mniCuponConvenio.label = Boleto convenio indexController.mniPrecioVentaja.label = Uso selectivo +indexController.mnSubMenuAGER.label=Relatório AGER + # Muestra a Búsqueda Tipo clase busquedaClaseServicioController.window.title = Clase de servicio busquedaClaseServicioController.btnRefresh.tooltiptext = Actualizar @@ -8649,6 +8651,26 @@ relatorioGratuidadeAGERController.lbTipoGratuidade.value = Tipo de alojamiento relatorioGratuidadeAGERController.lbDataIni.value = Fecha Inicio relatorioGratuidadeAGERController.lbDataFin.value = Fecha Final relatorioGratuidadeAGERController.lbOrgao.value = Instituición concedente + +# Relatório Passagens AGER +relatorioPassagensAGERController.window.title = Relatório Passagens AGER +relatorioPassagensAGERController.data.obrigatoria = Data inicial e Final são obrigatórias +relatorioPassagensAGERController.orgaoConcedente.obrigatorio = Orgão Concedente é obrigatório +relatorioPassagensAGERController.tipo.obrigatoria = Tipo de passagens é obrigatório +relatorioPassagensAGERController.lbEmpresa.value = Empresa +relatorioPassagensAGERController.lbAgencia.value = Agência +relatorioPassagensAGERController.lbLinha.value = Linha +relatorioPassagensAGERController.lbOrigem.value = Origem +relatorioPassagensAGERController.lbDestino.value = Destino +relatorioPassagensAGERController.lbDataIniVenda.value = Data Inicio +relatorioPassagensAGERController.lbDataFinVenda.value = Data Fim +relatorioPassagensAGERController.btnPesquisa.value = Pesquisar +relatorioPassagensAGERController.btnLimpar.value = Limpar +relatorioPassagensAGERController.lbNumRuta.value = Num. Linha +relatorioPassagensAGERController.lbPrefixo.value = Prefixo +relatorioPassagensAGERController.lvVenda = Venda +relatorioPassagensAGERController.lbOrgao.value = Orgão Concedente + editarEmpresaController.usarAliasMapaViagemVenda.ajuda = En la pantalla de Venta o botón de Tarjeta de Viagem deve usar Alias para as Ubicaciones. editarPtovtaAntifraudeController.window.title=Editar Chave Antifraude diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 19fdde34f..f61ee5efb 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -345,6 +345,7 @@ indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER +indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN indexController.mniRelatorioOperacionalFinanceiro.label = Relatório Operacional Financeiro indexController.mniRelatorioBilhetesVendidos.label = Bilhetes Vendidos @@ -501,6 +502,8 @@ indexController.mniAuditoria.label = Auditoria indexController.tipoConfComissao.label=Tipo Conf. Pend. Comissão indexController.mniIntegracaoTotvs.label = Integração Totvs +indexController.mnSubMenuAGER.label=Relatório AGER + # Relatório de Forma de Pagamento por Agência formaPagamentoAgenciaController.mniRelatorioFinanceiro.label = Forma de Pagamento por Agência formaPagamentoAgenciaController.window.title = Forma de Pagamento por Agência @@ -9438,6 +9441,26 @@ relatorioGratuidadeAGERController.lbNumRuta.value = Num. Linha relatorioGratuidadeAGERController.lbPrefixo.value = Prefixo relatorioGratuidadeAGERController.lvVenda = Venda relatorioGratuidadeAGERController.lbOrgao.value = Orgão Concedente + +# Relatório Passagens AGER +relatorioPassagensAGERController.window.title = Relatório Passagens AGER +relatorioPassagensAGERController.data.obrigatoria = Data inicial e Final são obrigatórias +relatorioPassagensAGERController.orgaoConcedente.obrigatorio = Orgão Concedente é obrigatório +relatorioPassagensAGERController.tipo.obrigatoria = Tipo de passagens é obrigatório +relatorioPassagensAGERController.lbEmpresa.value = Empresa +relatorioPassagensAGERController.lbAgencia.value = Agência +relatorioPassagensAGERController.lbLinha.value = Linha +relatorioPassagensAGERController.lbOrigem.value = Origem +relatorioPassagensAGERController.lbDestino.value = Destino +relatorioPassagensAGERController.lbDataIniVenda.value = Data Inicio +relatorioPassagensAGERController.lbDataFinVenda.value = Data Fim +relatorioPassagensAGERController.btnPesquisa.value = Pesquisar +relatorioPassagensAGERController.btnLimpar.value = Limpar +relatorioPassagensAGERController.lbNumRuta.value = Num. Linha +relatorioPassagensAGERController.lbPrefixo.value = Prefixo +relatorioPassagensAGERController.lvVenda = Venda +relatorioPassagensAGERController.lbOrgao.value = Orgão Concedente + editarEmpresaController.usarAliasMapaViagemVenda.ajuda = Na tela de Venda o botão de Mapa de Viagem deve usar Alias para as Localidades. editarClienteController.MSG.validacaoCPFInvalido = CPF inválido diff --git a/web/gui/relatorios/filtroRelatorioPassagensAGER.zul b/web/gui/relatorios/filtroRelatorioPassagensAGER.zul new file mode 100644 index 000000000..8b3f2ccb4 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioPassagensAGER.zul @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +