From 49d6c6c8162d464e39d90db6d0dd9d9bf77109d1 Mon Sep 17 00:00:00 2001 From: emerson Date: Fri, 9 Nov 2018 20:03:58 +0000 Subject: [PATCH] =?UTF-8?q?fixes=20bug#0012653=20dev:=20valdevir=20qua:=20?= =?UTF-8?q?jos=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implementação efetuada. git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@86922 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioIntegracaoAntiFraude.java | 156 ++++---- ...elatorioIntegracaoAntiFraude_es.properties | 13 + ...elatorioIntegracaoAntiFraude_pt.properties | 14 + ...ndaBilheteIdosoPorPassageiro_es.properties | 4 +- ...aoVendaBilheteIdosoPorTrecho_es.properties | 4 +- .../RelatorioIntegracaoAntiFraude.jasper | Bin 0 -> 36448 bytes .../RelatorioIntegracaoAntiFraude.jrxml | 342 ++++++++++++++++++ .../relatorios/utilitarios/ValidaForm.java | 6 + ...latorioIntegracaoAntiFraudeController.java | 57 --- .../integracaoantifraude/EStatusKonduto.java | 32 ++ ...ExecutarRelatorioIntegracaoAntiFraude.java | 87 +++++ ...latorioIntegracaoAntiFraudeController.java | 89 +++++ ...lidaFormRelatorioIntegracaoAntiFraude.java | 65 ++++ .../vendabilheteidoso/ValidaForm.java | 6 - .../ValidaFormRelatorioVendaBilheteIdoso.java | 1 + .../ventaboletos/web/utilerias/MyListbox.java | 10 + ...ItemMenuRelatorioIntegracaoAntiFraude.java | 5 +- .../utilerias/menu/menu_original.properties | 4 +- web/WEB-INF/i3-label_es_MX.label | 8 + web/WEB-INF/i3-label_pt_BR.label | 7 + .../filtroRelatorioIntegracaoAntiFraude.zul | 50 ++- 21 files changed, 787 insertions(+), 173 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_pt.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioIntegracaoAntiFraude.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioIntegracaoAntiFraude.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidaForm.java delete mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioIntegracaoAntiFraudeController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EStatusKonduto.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EventListenerExecutarRelatorioIntegracaoAntiFraude.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/RelatorioIntegracaoAntiFraudeController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/ValidaFormRelatorioIntegracaoAntiFraude.java delete mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaForm.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java index 037d7366c..379ed0fd8 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java @@ -1,110 +1,94 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.sql.Connection; -import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; +import java.sql.SQLException; +import java.sql.Timestamp; import java.util.Date; -import java.util.List; import java.util.Map; -import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; - -import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayCustomDataSourceRelatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciasNaoImportadasBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioIntegracaoAntiFraude extends Relatorio { - private List lsDadosRelatorio; - public RelatorioIntegracaoAntiFraude(Map parametros, Connection conexao){ super(parametros, conexao); - - try{ - this.setCustomDataSource(new DataSource(this) { - @Override - public void initDados() throws Exception { - - Connection conexao = this.relatorio.getConexao(); - - Map parametros = this.relatorio.getParametros(); - - String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; - String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; - - String empresas = getEmpresas(conexao); - String sql = getSQL(empresas); - - PreparedStatement stmt = conexao.prepareStatement(sql); - ResultSet rs = null; - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - - stmt.setTimestamp(1, new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp(2, new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - rs = stmt.executeQuery(); - - lsDadosRelatorio = new ArrayList(); - - while (rs.next()) { - - RelatorioAgenciasNaoImportadasBean agencia = new RelatorioAgenciasNaoImportadasBean(); - - agencia.setNumpuntoventa(rs.getString(1)); - agencia.setNombpuntoventa(rs.getString(2)); - agencia.setFecha(rs.getDate(3)); - - lsDadosRelatorio.add(agencia); - } - - if (lsDadosRelatorio.size() > 0) { - - setLsDadosRelatorio(lsDadosRelatorio); - } - } - }); - } catch (Exception e){ - System.out.println(e.toString()); - } - } - - public void setLsDadosRelatorio(List lsDadosRelatorio) { - this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); - this.lsDadosRelatorio = lsDadosRelatorio; } @Override protected void processaParametros() throws Exception { + setCustomDataSource(new ArrayCustomDataSource(this)); } + + private final class ArrayCustomDataSource extends ArrayCustomDataSourceRelatorio { - private String getEmpresas(Connection conexao){ - String sql = "select valorconstante from constante where nombconstante = 'EMPRESAS_INTEGRACAO'"; - try{ - PreparedStatement stmt = conexao.prepareStatement(sql); - ResultSet rs = stmt.executeQuery(); - if (rs.next()){ - return rs.getString(1); - } else { - return ""; - } - } catch (Exception e){ - System.out.println(e.toString()); - return ""; + public ArrayCustomDataSource(Relatorio relatorio) throws Exception { + super(relatorio); } - } - private String getSQL(String empresas) { - // Custo da query: 40 - StringBuilder sql = new StringBuilder(); - sql.append(" select distinct p.numpuntoventa, p.nombpuntoventa, t.feccorte "); - sql.append(" from punto_venta p "); - sql.append(" inner join titulo_integracion t on t.puntoventa_id = p.puntoventa_id "); - sql.append(" where t.feccorte between ? AND ? and t.fecintegracion is null "); - sql.append(" order by t.feccorte, p.nombpuntoventa "); + @Override + protected void getSql(StringBuilder instrucaoSql, Map parametros) { + instrucaoSql.append("SELECT TK.KONDUTO_ID ID_KONDUTO, "); + instrucaoSql.append("LPAD(CASE WHEN CLI.TIPOIDENTIFICAUNO_ID = 2 THEN "); + instrucaoSql.append(" NUMIDENTIFICAUNO "); + instrucaoSql.append("WHEN CLI.TIPOIDENTIFICADOS_ID = 2 THEN "); + instrucaoSql.append(" NUMIDENTIFICADOS "); + instrucaoSql.append("END, 11, '0') CPF_COMPRADOR, CLI.NOMBCLIENTE NOME_COMPRADOR, "); + instrucaoSql.append("TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') DATA_COMPRA, "); + instrucaoSql.append("TO_CHAR(B.FECHORVENTA, 'HH24:MI') HORA_COMPRA, "); + instrucaoSql.append("CT.NSU, CT.NUMAUTORIZACION AUTORIZACAO, "); + instrucaoSql.append("COALESCE(B.PRECIOPAGADO,0) + COALESCE(B.IMPORTETAXAEMBARQUE,0) + "); + instrucaoSql.append("COALESCE(B.IMPORTESEGURO,0) + COALESCE(B.IMPORTEPEDAGIO,0) + COALESCE(B.IMPORTEOUTROS,0) AS VALOR_TOTAL, "); + instrucaoSql.append("B.CORRIDA_ID SERVICO, "); + instrucaoSql.append("TO_CHAR(B.FECHORVIAJE, 'DD/MM/YYYY') DATA_VIAGEM, "); + instrucaoSql.append("TO_CHAR(B.FECHORVIAJE, 'HH24:MI') HORA_VIAGEM, "); + instrucaoSql.append("PO.DESCPARADA ORIGEM, PD.DESCPARADA DESTINO, "); + instrucaoSql.append("B.NUMFOLIOSISTEMA BILHETE, "); + instrucaoSql.append("B.NUMASIENTO POLTRONA, "); + instrucaoSql.append("B.NOMBPASAJERO PASSAGEIRO "); + instrucaoSql.append("FROM BOLETO B "); + instrucaoSql.append("INNER JOIN TRANSACAO_KONDUTO TK ON B.BOLETO_ID = TK.BOLETO_ID "); + instrucaoSql.append("LEFT JOIN CLIENTE CLI ON B.CLIENTECOMPRADOR_ID = CLI.CLIENTE_ID "); + instrucaoSql.append("LEFT JOIN CAJA C ON B.BOLETO_ID = C.TRANSACAO_ID "); + instrucaoSql.append("LEFT JOIN CAJA_DET_PAGO CDP ON C.CAJA_ID = CDP.CAJA_ID "); + instrucaoSql.append("LEFT JOIN CAJA_TARJETA CT ON CDP.CAJADETPAGO_ID = CT.CAJADETPAGO_ID "); + instrucaoSql.append("LEFT JOIN PARADA PO ON B.ORIGEN_ID = PO.PARADA_ID "); + instrucaoSql.append("LEFT JOIN PARADA PD ON B.DESTINO_ID = PD.PARADA_ID "); + instrucaoSql.append("WHERE B.FECHORVENTA BETWEEN :dtInicial AND :dtFinal "); + instrucaoSql.append("AND TK.STATUSTRANSACAO IN("+parametros.get("statusKondutoId").toString()+") "); + instrucaoSql.append("AND B.MARCA_ID = :empresaId "); + } - return sql.toString(); + @Override + protected void populaValoresDataResult(Map dataResult, ResultSet resultSet) throws SQLException { + dataResult.put("ID_KONDUTO", resultSet.getString("ID_KONDUTO")); + dataResult.put("CPF_COMPRADOR", resultSet.getString("CPF_COMPRADOR")); + dataResult.put("NOME_COMPRADOR", resultSet.getString("NOME_COMPRADOR")); + dataResult.put("DATA_COMPRA", resultSet.getString("DATA_COMPRA")); + dataResult.put("HORA_COMPRA", resultSet.getString("HORA_COMPRA")); + dataResult.put("NSU", resultSet.getString("NSU")); + dataResult.put("AUTORIZACAO", resultSet.getString("AUTORIZACAO")); + dataResult.put("VALOR_TOTAL", MoneyHelper.instanciar(resultSet.getBigDecimal("VALOR_TOTAL"))); + dataResult.put("SERVICO", resultSet.getString("SERVICO")); + dataResult.put("DATA_VIAGEM", resultSet.getString("DATA_VIAGEM")); + dataResult.put("HORA_VIAGEM", resultSet.getString("HORA_VIAGEM")); + dataResult.put("ORIGEM", resultSet.getString("ORIGEM")); + dataResult.put("DESTINO", resultSet.getString("DESTINO")); + dataResult.put("BILHETE", resultSet.getString("BILHETE")); + dataResult.put("POLTRONA", resultSet.getString("POLTRONA")); + dataResult.put("PASSAGEIRO", resultSet.getString("PASSAGEIRO")); + } + + @Override + protected void configuraParametrosConsultaSql(Map parametros, NamedParameterStatement stmt) throws SQLException { + stmt.setTimestamp("dtInicial", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("dtInicial")).getTime())); + stmt.setTimestamp("dtFinal", new Timestamp(DateUtil.fimFecha((Date) parametros.get("dtFinal")).getTime())); + stmt.setObject("empresaId", parametros.get("empresaId")); + } + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_es.properties new file mode 100644 index 000000000..7dec516f1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_es.properties @@ -0,0 +1,13 @@ +#geral +msg.noData = No se pudo obtener datos con los par\u00E1metros reportados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impresso por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.empresa=Empresa: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_pt.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_pt.properties new file mode 100644 index 000000000..b8b960109 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioIntegracaoAntiFraude_pt.properties @@ -0,0 +1,14 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels header +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impresso por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.empresa=Empresa: +cabecalho.statusKonduto=Filtro Status Konduto: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorPassageiro_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorPassageiro_es.properties index 9937a2b21..038beab79 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorPassageiro_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorPassageiro_es.properties @@ -11,4 +11,6 @@ cabecalho.pagina=P cabecalho.de=de cabecalho.filtros=Filtros: cabecalho.empresa=Empresa: -cabecalho.linhas=Linha: \ No newline at end of file +cabecalho.linhas=Linha: +cabecalho.tipoData=Tipo de Data: +cabecalho.orgao=Orgão Concedente: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorTrecho_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorTrecho_es.properties index 9937a2b21..038beab79 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorTrecho_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoVendaBilheteIdosoPorTrecho_es.properties @@ -11,4 +11,6 @@ cabecalho.pagina=P cabecalho.de=de cabecalho.filtros=Filtros: cabecalho.empresa=Empresa: -cabecalho.linhas=Linha: \ No newline at end of file +cabecalho.linhas=Linha: +cabecalho.tipoData=Tipo de Data: +cabecalho.orgao=Orgão Concedente: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioIntegracaoAntiFraude.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioIntegracaoAntiFraude.jasper new file mode 100644 index 0000000000000000000000000000000000000000..08e8ec93cf1c45b012d177c3b52718337b11a908 GIT binary patch literal 36448 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidaForm.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidaForm.java new file mode 100644 index 000000000..da8b22456 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidaForm.java @@ -0,0 +1,6 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public interface ValidaForm { + + public boolean isValido(); +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioIntegracaoAntiFraudeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioIntegracaoAntiFraudeController.java deleted file mode 100644 index 1c1ffb67e..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioIntegracaoAntiFraudeController.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; - -import java.text.SimpleDateFormat; -import java.util.HashMap; -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.zk.ui.event.Event; -import org.zkoss.zul.Datebox; - -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciasNaoImportadas; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; - -@Controller("relatorioIntegracaoAntiFraudeController") -@Scope("prototype") -public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardComposer { - private static final long serialVersionUID = 1L; - private static Logger log = Logger.getLogger(RelatorioIntegracaoAntiFraudeController.class); - - @Autowired - private DataSource dataSourceRead; - - private Datebox datInicial; - private Datebox datFinal; - - private void executarRelatorio() throws Exception { - - Map parametros = new HashMap(); - - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - parametros.put("fecInicio", sdf.format(this.datInicial.getValue())); - parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); - - parametros.put("TITULO", Labels.getLabel("indexController.mniRelatorioAgenciasNaoImportadas.label")); - - Relatorio relatorio = new RelatorioAgenciasNaoImportadas(parametros, dataSourceRead.getConnection()); - - Map args = new HashMap(); - args.put("relatorio", relatorio); - - openWindow("/component/reportView.zul", - Labels.getLabel("indexController.mniRelatorioAgenciasNaoImportadas.label"), args, MyGenericForwardComposer.MODAL); - - } - - public void onClick$btnExecutarRelatorio(Event ev) throws Exception { - executarRelatorio(); - } - -} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EStatusKonduto.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EStatusKonduto.java new file mode 100644 index 000000000..aa988873d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EStatusKonduto.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude; + +public enum EStatusKonduto { + PENDENTE("P", "Pendente"), + APROVADO("A", "Aprovado"), + NEGADO("N", "Negado"); + + private String id; + private String descricao; + + private EStatusKonduto(String id, String descricao) { + this.id = id; + this.descricao = descricao; + } + + public String getId() { + return id; + } + + public String getDescricao() { + return descricao; + } + + public static EStatusKonduto getStatusKondutoPorId(String id) { + for (EStatusKonduto status : EStatusKonduto.values()) { + if (status.getId().equals(id)) { + return status; + } + } + throw new IllegalArgumentException("Status Konduto não encontrado."); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EventListenerExecutarRelatorioIntegracaoAntiFraude.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EventListenerExecutarRelatorioIntegracaoAntiFraude.java new file mode 100644 index 000000000..0f8e07d11 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/EventListenerExecutarRelatorioIntegracaoAntiFraude.java @@ -0,0 +1,87 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude; + +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.event.EventListener; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioIntegracaoAntiFraude; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utils.FormataUtil; +import com.rjconsultores.ventaboletos.web.utilerias.EventListenerExecutarRelatorio; + +public class EventListenerExecutarRelatorioIntegracaoAntiFraude extends EventListenerExecutarRelatorio implements EventListener { + + private static final String MASCARA_DATA_COMPLETA = "dd/MM/yyyy hh:mm:ss"; + + public EventListenerExecutarRelatorioIntegracaoAntiFraude(RelatorioIntegracaoAntiFraudeController controller) { + super(controller); + } + + @Override + protected String getTituloRelatorio() { + return RelatorioIntegracaoAntiFraudeController.TITULO_RELATORIO; + } + + @Override + protected boolean filtrosValidos(RelatorioIntegracaoAntiFraudeController controller) { + return new ValidaFormRelatorioIntegracaoAntiFraude(controller).isValido(); + } + + @Override + protected Relatorio configuraRelatorio(RelatorioIntegracaoAntiFraudeController controller) throws SQLException { + return new RelatorioIntegracaoAntiFraude(getParametros(), controller.getDataSource().getConnection()); + } + + private Map getParametros() { + Map parametros = new HashMap(); + + parametros.put("NOME_RELATORIO", Labels.getLabel(getTituloRelatorio())); + parametros.put("dtInicial", getController().getDtInicial().getValue()); + parametros.put("dtFinal", getController().getDtFinal().getValue()); + parametros.put("periodo", obtemPeriodo()); + Empresa empresa = getController().getCmbEmpresa().getSelecteObject(Empresa.class); + parametros.put("empresaId", empresa.getEmpresaId()); + parametros.put("empresa", empresa.getNombempresa()); + List statusKondutoSelecionados = obtemIdsEDescricaoStatusKondutoSelecionados(); + parametros.put("statusKondutoId", statusKondutoSelecionados.get(0).toString()); + parametros.put("statusKonduto", statusKondutoSelecionados.get(1).toString()); + + return parametros; + } + + private List obtemIdsEDescricaoStatusKondutoSelecionados() { + StringBuilder idsKonduto = new StringBuilder(); + StringBuilder descricaoKonduto = new StringBuilder(); + List statusKondutoSelecionados = getController().getKondutoList().getItensSelecionados(); + populaKondutoSelecionados(idsKonduto, descricaoKonduto, statusKondutoSelecionados); + ArrayList kondutosSelecionados = new ArrayList(); + kondutosSelecionados.add(idsKonduto); + kondutosSelecionados.add(descricaoKonduto); + return kondutosSelecionados; + } + + private void populaKondutoSelecionados(StringBuilder idsKonduto, StringBuilder descricaoKonduto, List statusKondutoSelecionados) { + for (int i = 0; i < statusKondutoSelecionados.size(); i++) { + EStatusKonduto statusKonduto = (EStatusKonduto)statusKondutoSelecionados.get(i); + idsKonduto.append("'"+statusKonduto.getId()+"'"); + descricaoKonduto.append(statusKonduto.getDescricao()); + if (i != statusKondutoSelecionados.size()-1) { + idsKonduto.append(", "); + descricaoKonduto.append(", "); + } + } + } + + private String obtemPeriodo() { + return FormataUtil.formataDataToString((Date)getController().getDtInicial().getValue(), "", MASCARA_DATA_COMPLETA) + +" até "+FormataUtil.formataDataToString((Date)getController().getDtFinal().getValue(), "", MASCARA_DATA_COMPLETA); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/RelatorioIntegracaoAntiFraudeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/RelatorioIntegracaoAntiFraudeController.java new file mode 100644 index 000000000..ca4797451 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/RelatorioIntegracaoAntiFraudeController.java @@ -0,0 +1,89 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude; + +import java.util.Arrays; +import java.util.List; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zul.Button; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.enums.TypeEventListener; +import com.rjconsultores.ventaboletos.service.EmpresaService; +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.RenderPersonalizado; + +@Controller("relatorioIntegracaoAntiFraudeController") +@Scope("prototype") +public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + public static final String TITULO_RELATORIO = "indexController.mniRelatorioIntegracaoAntifraude.label"; + + @Autowired + private DataSource dataSource; + + private Datebox dtInicial; + private Datebox dtFinal; + + @Autowired + private EmpresaService empresaService; + private List lsEmpresa; + private MyComboboxEstandar cmbEmpresa; + + private List lsStatusKonduto; + private MyListbox kondutoList; + + private Button btnExecutarRelatorio; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + kondutoList.setItemRenderer(new RenderPersonalizado(Arrays.asList("descricao"))); + kondutoList.setData(Arrays.asList(EStatusKonduto.values())); + configuraEventosExecucaoRelatorio(); + } + + private void configuraEventosExecucaoRelatorio() { + btnExecutarRelatorio.addEventListener(TypeEventListener.ON_CLICK.getEvent(), + new EventListenerExecutarRelatorioIntegracaoAntiFraude(this)); + } + + public Datebox getDtInicial() { + return dtInicial; + } + + public Datebox getDtFinal() { + return dtFinal; + } + + public MyListbox getKondutoList() { + return kondutoList; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public DataSource getDataSource() { + return dataSource; + } + + public List getLsStatusKonduto() { + return lsStatusKonduto; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/ValidaFormRelatorioIntegracaoAntiFraude.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/ValidaFormRelatorioIntegracaoAntiFraude.java new file mode 100644 index 000000000..2aece29c3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/integracaoantifraude/ValidaFormRelatorioIntegracaoAntiFraude.java @@ -0,0 +1,65 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude; + +import static com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude.RelatorioIntegracaoAntiFraudeController.TITULO_RELATORIO; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidaForm; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidarDatas; +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; + +public class ValidaFormRelatorioIntegracaoAntiFraude implements ValidaForm { + + private static final String MSG_PERIODO_NAO_INFORMADO = "relatorioPosicaoVendaBilheteIdosoController.MSG.informarFiltroData"; + private static final String MSG_PERIODO_INCOMPLETO = "relatorioPosicaoVendaBilheteIdosoController.MSG.informarData"; + private static final String MSG_DATA_INICIAL_MAIOR_FINAL = "relatorioPosicaoVendaBilheteIdosoController.MSG.dataInicialMaiorFinal"; + private static final String MSG_EMPRESA_NAO_INFORMADO = "relatorioPosicaoVendaBilheteIdosoController.MSG.informarEmpresa"; + private static final String MSG_STATUS_KONDUTO_NAO_INFORMADO = "relatorioIntegracaoAntiFraudeController.MSG.informarStatusKonduto"; + + private RelatorioIntegracaoAntiFraudeController controller; + + public ValidaFormRelatorioIntegracaoAntiFraude(RelatorioIntegracaoAntiFraudeController controller) { + this.controller = controller; + } + + @Override + public boolean isValido() { + return isDatasValidas() + && isFiltrosValidos(); + } + + private boolean isFiltrosValidos() { + return possuiEmpresaSelecionada() + && possuiStatusKondutoSelecionado(); + } + + private Boolean possuiStatusKondutoSelecionado() { + if (controller.getKondutoList().getSelectedsItens().isEmpty()) { + MensagensUtils.showMessageInformation(MSG_STATUS_KONDUTO_NAO_INFORMADO, TITULO_RELATORIO); + return false; + } + return true; + } + + private boolean possuiEmpresaSelecionada() { + if (controller.getCmbEmpresa().getSelectedItem() == null) { + MensagensUtils.showMessageInformation(MSG_EMPRESA_NAO_INFORMADO, TITULO_RELATORIO); + return false; + } + return true; + } + + private boolean isDatasValidas() { + ValidarDatas validadorData = new ValidarDatas(controller.getDtInicial(), controller.getDtFinal()); + + if (validadorData.isPeriodoNaoInformado()) { + MensagensUtils.showMessageInformation(MSG_PERIODO_NAO_INFORMADO, TITULO_RELATORIO); + return false; + } + + if (validadorData.isPeriodoParcialmenteInformado()) { + MensagensUtils.showMessageInformation(MSG_PERIODO_INCOMPLETO, TITULO_RELATORIO); + return false; + } + + return !validadorData.validarDataInicioMaiorQueTermino(MSG_DATA_INICIAL_MAIOR_FINAL, TITULO_RELATORIO); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaForm.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaForm.java deleted file mode 100644 index 1bcc9cf5a..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaForm.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.vendabilheteidoso; - -public interface ValidaForm { - - public boolean isValido(); -} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaFormRelatorioVendaBilheteIdoso.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaFormRelatorioVendaBilheteIdoso.java index 062e5ed11..aeee51656 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaFormRelatorioVendaBilheteIdoso.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/vendabilheteidoso/ValidaFormRelatorioVendaBilheteIdoso.java @@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.vendabil import static com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.vendabilheteidoso.RelatorioPosicaoVendaBilheteIdosoController.TITULO_RELATORIO; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidaForm; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidarDatas; import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyListbox.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyListbox.java index 1f3a97fcd..dfe7127a7 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyListbox.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyListbox.java @@ -125,6 +125,16 @@ public class MyListbox extends Listbox { return selecteds; } + public List getItensSelecionados() { + int qtd = this.getSelectedCount(); + List selecteds = new ArrayList(); + for (int i = 0; i < qtd; i++) { + selecteds.add(modelList.get(((Listitem)getSelectedItems().toArray()[i]).getIndex())); + } + + return selecteds; + } + public List getSelectedItemsByIndex() { List selecteds = new ArrayList(); Set selList = this.getSelectedItems(); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioIntegracaoAntiFraude.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioIntegracaoAntiFraude.java index bdf711f3a..3abac7826 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioIntegracaoAntiFraude.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioIntegracaoAntiFraude.java @@ -2,18 +2,19 @@ package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; import org.zkoss.util.resource.Labels; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; public class ItemMenuRelatorioIntegracaoAntiFraude extends DefaultItemMenuSistema { public ItemMenuRelatorioIntegracaoAntiFraude() { - super("indexController.mniRelatorioIntegracaoAntiFraude.label"); + super("indexController.mniRelatorioIntegracaoAntifraude.label"); } @Override public String getClaveMenu() { - return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOINTEGRACAOANTIFRAUDE"; + return ConstantesFuncionSistema.CLAVE_INTEGRACAO_ANTI_FRAUDE; } @Override 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 d68c8c287..a82f0a531 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 @@ -217,8 +217,8 @@ analitico.integracion.relatorioFiscal.importacionFiscalReducaoZ=com.rjconsultore analitico.integracion.relatorioFiscal.importacionNaoFiscal=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.ItemMenuImportacionNaoFiscal analitico.integracion.relatorioFiscal.importacionEcFPendencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.ItemMenuImportacionFiscalEcFPendencia analitico.integracion.relatorioFiscal.importacionReducaoZPendencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.ItemMenuImportacionFiscalReducaoZPendencia -analitico.integracion.agenciasNaoImportadas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioIntegracaoAntiFraude -analitico.integracion.integracaoAntiFraude=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAgenciasNaoImportadas +analitico.integracion.agenciasNaoImportadas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAgenciasNaoImportadas +analitico.integracion.integracaoAntiFraude=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioIntegracaoAntiFraude analitico.integracion.bgm=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.integracion.bgm.SubMenuBgm analitico.integracion.bgm.arquivo=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioArquivoBGM analitico.integracion.bgm.erro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioErrosIntegracaoBGM diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 8352fb31a..3b9570e37 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -279,6 +279,7 @@ indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/ indexController.mniRelatorioVendasBilheteiro.label = Ventas por agente de pasajes indexController.mniRelatorioVendasBilheteiroSintetico.label = Ventas por agentes sintético indexController.mniRelatorioAgenciasNaoImportadas.label = Reporte puntos venta no importados +indexController.mniRelatorioIntegracaoAntifraude.label = Relatório de Integração com Anti-Fraude indexController.mniRelatorioCheckin.label = Checkin's indexController.mniFechamentoParamgeral.label = Cierre cuenta indexController.mniFechamentoParamptovta.label = Cierre cuenta contábil punto de venta @@ -6737,6 +6738,13 @@ indexController.mniRelatorioAgenciaFechamento.label= Cierre de Agencias integracion.totvs=ERRO ao fazer integracion com a TOTVS integracion.totvs.ja.cadastrado = Esta agencia ya tiene registrado en el sistema de TOTVS. Los datos de integración no serán enviados nuevamente +#Relatório de Integração com Anti-Fraude +relatorioIntegracaoAntiFraudeController.lblDataIni.value = Período Inicial +relatorioIntegracaoAntiFraudeController.lblDataFin.value = Período Final +relatorioIntegracaoAntiFraudeController.lblEmpresa.value = Empresa +relatorioIntegracaoAntiFraudeController.lblStatusKonduto.value = Status Konduto +relatorioIntegracaoAntiFraudeController.MSG.informarStatusKonduto = Favor informar ao menos um status Konduto. + # Búsqueda Hotel busquedaHotelController.window.title = Hotel busquedaHotelController.btnRefresh.tooltiptext = Actualizar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bda2f50ca..f91ebf377 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7225,6 +7225,13 @@ editarRelgerencialEmpresaController.MSG.erroTipoRelgerencial=Tipo Relatório Ger filtroRelatorioAgenciasNaoImportadas.lbDataIni.value = Data Inicio filtroRelatorioAgenciasNaoImportadas.lbDataFin.value = Data Final +#Relatório de Integração com Anti-Fraude +relatorioIntegracaoAntiFraudeController.lblDataIni.value = Período Inicial +relatorioIntegracaoAntiFraudeController.lblDataFin.value = Período Final +relatorioIntegracaoAntiFraudeController.lblEmpresa.value = Empresa +relatorioIntegracaoAntiFraudeController.lblStatusKonduto.value = Status Konduto +relatorioIntegracaoAntiFraudeController.MSG.informarStatusKonduto = Favor informar ao menos um status Konduto. + # Buscar Manutenção Pacote busquedaManutencaoPacoteController.window.title = Pesquisar Venda Pacotes busquedaManutencaoPacoteController.btnRefresh.tooltiptext = Atualizar diff --git a/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul b/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul index eda0c0c28..50107eb02 100644 --- a/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul +++ b/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul @@ -1,37 +1,51 @@ - + - - - + + - + - + - + + + + + +