diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java index 70262973a..20e40f968 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java @@ -64,40 +64,17 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { sql.append(" COUNT(bol.BOLETO_ID) OCUPACAO, "); sql.append(" r.NUMRUTA CODLINHA , "); sql.append(" r.INDSENTIDOIDA SENTIDO "); - sql.append(" FROM "); - sql.append(" boleto bol "); - sql.append(" LEFT JOIN ruta r "); - sql.append(" ON "); - sql.append(" r.RUTA_ID = bol.RUTA_ID "); - sql.append(" LEFT JOIN parada p_origem "); - sql.append(" ON "); - sql.append(" p_origem.PARADA_ID = bol.ORIGEN_ID "); - sql.append(" LEFT JOIN parada p_destino "); - sql.append(" ON "); - sql.append(" p_destino.PARADA_ID = bol.DESTINO_ID "); - sql.append(" LEFT JOIN CLASE_SERVICIO cs "); - sql.append(" ON "); - sql.append(" cs.CLASESERVICIO_ID = bol.CLASESERVICIO_ID "); - sql.append(" LEFT JOIN TIPO_SERVICIO ts "); - sql.append(" ON "); - sql.append(" ts.TIPOSERVICIO_ID = cs.TIPOSERVICO "); - sql.append(" LEFT JOIN corrida_tramo ct "); - sql.append(" ON "); - sql.append(" ct.CORRIDA_ID = bol.CORRIDA_ID "); - sql.append(" AND ct.FECCORRIDA = bol.FECCORRIDA "); - sql.append(" LEFT JOIN corrida c "); - sql.append(" ON "); - sql.append(" c.CORRIDA_ID = bol.CORRIDA_ID "); - sql.append(" AND c.FECCORRIDA = bol.FECCORRIDA "); - sql.append(" LEFT JOIN rol_operativo ro "); - sql.append(" ON "); - sql.append(" ro.ROLOPERATIVO_ID = c.ROLOPERATIVO_ID "); - sql.append(" LEFT JOIN diagrama_autobus da "); - sql.append(" ON "); - sql.append(" da.diagramaautobus_id = ro.diagramaautobus_id "); - sql.append(" LEFT JOIN empresa e "); - sql.append(" ON "); - sql.append(" e.EMPRESA_ID = bol.EMPRESACORRIDA_ID "); + sql.append(" FROM boleto bol "); + sql.append(" LEFT JOIN ruta r ON r.RUTA_ID = bol.RUTA_ID "); + sql.append(" LEFT JOIN parada p_origem ON p_origem.PARADA_ID = bol.ORIGEN_ID "); + sql.append(" LEFT JOIN parada p_destino ON p_destino.PARADA_ID = bol.DESTINO_ID "); + sql.append(" LEFT JOIN CLASE_SERVICIO cs ON cs.CLASESERVICIO_ID = bol.CLASESERVICIO_ID "); + sql.append(" LEFT JOIN TIPO_SERVICIO ts ON ts.TIPOSERVICIO_ID = cs.TIPOSERVICO "); + sql.append(" LEFT JOIN corrida_tramo ct ON ct.CORRIDA_ID = bol.CORRIDA_ID AND ct.FECCORRIDA = bol.FECCORRIDA "); + sql.append(" LEFT JOIN corrida c ON c.CORRIDA_ID = bol.CORRIDA_ID AND c.FECCORRIDA = bol.FECCORRIDA "); + sql.append(" LEFT JOIN rol_operativo ro ON ro.ROLOPERATIVO_ID = c.ROLOPERATIVO_ID "); + sql.append(" LEFT JOIN diagrama_autobus da ON da.diagramaautobus_id = ro.diagramaautobus_id "); + sql.append(" LEFT JOIN empresa e ON e.EMPRESA_ID = bol.EMPRESACORRIDA_ID "); sql.append(" WHERE "); sql.append(" BOL.MOTIVOCANCELACION_ID IS NULL "); if (parametros.get("HORA_INICIAL") == null && parametros.get("HORA_FINAL") == null) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java index 71724de70..bcbd89d08 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIntegracaoAntiFraude.java @@ -19,7 +19,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioIntegracaoAntiFraude extends Relatorio { - public RelatorioIntegracaoAntiFraude(Map parametros, Connection conexao){ + public RelatorioIntegracaoAntiFraude(Map parametros, Connection conexao) { super(parametros, conexao); } @@ -27,7 +27,7 @@ public class RelatorioIntegracaoAntiFraude extends Relatorio { protected void processaParametros() throws Exception { setCustomDataSource(new ArrayCustomDataSource(this)); } - + private final class ArrayCustomDataSource extends ArrayCustomDataSourceRelatorio { public ArrayCustomDataSource(Relatorio relatorio) throws Exception { @@ -64,31 +64,34 @@ public class RelatorioIntegracaoAntiFraude extends Relatorio { instrucaoSql.append("TO_CHAR(TK.DATA_ENVIO, 'HH24:MI') HORA_ENVIO, "); instrucaoSql.append("TK.VALOR VALOR, "); instrucaoSql.append("TK.CODIGO_HTTP CODIGO_HTTP "); - instrucaoSql.append("FROM BOLETO B "); - instrucaoSql.append("INNER JOIN TRANSACAO_KONDUTO TK ON B.BOLETO_ID = TK.BOLETO_ID "); - instrucaoSql.append("INNER JOIN MARCA M ON B.MARCA_ID = M.MARCA_ID "); - instrucaoSql.append("INNER JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID "); - instrucaoSql.append("INNER JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = TK.PUNTOVENTA_ID "); + instrucaoSql.append("FROM TRANSACAO_KONDUTO TK "); + instrucaoSql.append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TK.BOLETO_ID "); + instrucaoSql.append("LEFT JOIN EMPRESA E ON E.EMPRESA_ID = TK.EMPRESA_ID "); + instrucaoSql.append("LEFT JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = TK.PUNTOVENTA_ID "); instrucaoSql.append("LEFT JOIN CLIENTE CLI ON B.CLIENTECOMPRADOR_ID = CLI.CLIENTE_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 M.EMPRESA_ID = :empresaId "); + instrucaoSql.append("WHERE ((B.BOLETO_ID IS NOT NULL OR TK.DATA_ENVIO BETWEEN :dtInicial AND :dtFinal) "); + instrucaoSql.append("AND (B.BOLETO_ID IS NULL OR B.FECHORVENTA BETWEEN :dtInicial AND :dtFinal)) "); - if(parametros.get("statusKondutoTotalBusId") != null) { - instrucaoSql.append("AND TK.STATUSTRANSACAO IN("+parametros.get("statusKondutoTotalBusId").toString()+") "); + if (parametros.get("statusKondutoTotalBusId") != null) { + instrucaoSql.append("AND TK.STATUSTRANSACAO IN(" + parametros.get("statusKondutoTotalBusId").toString() + ") "); } - - if(parametros.get("puntoventaId") != null) { - instrucaoSql.append("AND TK.PUNTOVENTA_ID = :puntoventaId "); + + if (parametros.get("empresaId") != null && !((String) parametros.get("empresaId")).isEmpty()) { + instrucaoSql.append("AND TK.EMPRESA_ID IN (" + parametros.get("empresaId") + ") "); } - - if(parametros.get("statusKondutoId") != null) { - instrucaoSql.append("AND TK.STATUSTRANSACAOKONDUTO IN("+parametros.get("statusKondutoId").toString()+") "); + + if (parametros.get("puntoventaId") != null && !((String) parametros.get("puntoventaId")).isEmpty()) { + instrucaoSql.append("AND TK.PUNTOVENTA_ID IN (" + parametros.get("puntoventaId") + ")"); } - - if(parametros.get("statusKondutoEnvioId") != null) { - instrucaoSql.append("AND TK.STATUSENVIO IN("+parametros.get("statusKondutoEnvioId").toString()+") "); + + if (parametros.get("statusKondutoId") != null) { + instrucaoSql.append("AND (TK.STATUSTRANSACAOKONDUTO IN(" + parametros.get("statusKondutoId").toString() + ") OR TK.STATUSTRANSACAOKONDUTO IS NULL)"); + } + + if (parametros.get("statusKondutoEnvioId") != null) { + instrucaoSql.append("AND TK.STATUSENVIO IN(" + parametros.get("statusKondutoEnvioId").toString() + ") "); } } @@ -117,19 +120,19 @@ public class RelatorioIntegracaoAntiFraude extends Relatorio { dataResult.put("DATA_ENVIO", resultSet.getString("DATA_ENVIO")); dataResult.put("HORA_ENVIO", resultSet.getString("HORA_ENVIO")); dataResult.put("CODIGO_HTTP", resultSet.getString("CODIGO_HTTP")); - + String statustransacao = resultSet.getString("STATUSTRANSACAO"); - if(StringUtils.isNotBlank(statustransacao)) { + if (StringUtils.isNotBlank(statustransacao)) { dataResult.put("STATUSTRANSACAO", EStatusKondutoTotalBus.getStatusKondutoPorId(statustransacao).getDescricao()); } - + String statustransacaoKonduto = resultSet.getString("STATUSTRANSACAOKONDUTO"); - if(StringUtils.isNotBlank(statustransacaoKonduto)) { + if (StringUtils.isNotBlank(statustransacaoKonduto)) { dataResult.put("STATUSTRANSACAOKONDUTO", EStatusKonduto.getStatusKondutoPorId(statustransacaoKonduto).getDescricao()); } - + String statusEnvio = resultSet.getString("STATUSENVIO"); - if(StringUtils.isNotBlank(statusEnvio)) { + if (StringUtils.isNotBlank(statusEnvio)) { dataResult.put("STATUSENVIO", EStatusKondutoEnvio.getStatusKondutoPorId(statusEnvio).getDescricao()); } } @@ -138,12 +141,7 @@ public class RelatorioIntegracaoAntiFraude extends Relatorio { 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")); - - if(parametros.get("puntoventaId") != null) { - stmt.setObject("puntoventaId", parametros.get("puntoventaId")); - } } - + } } 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 index 7eda4483c..d6c348638 100644 --- 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 @@ -1,6 +1,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -17,7 +19,7 @@ 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 = "dd/MM/yyyy"; public EventListenerExecutarRelatorioIntegracaoAntiFraude(RelatorioIntegracaoAntiFraudeController controller) { @@ -39,27 +41,54 @@ public class EventListenerExecutarRelatorioIntegracaoAntiFraude extends EventLis return new RelatorioIntegracaoAntiFraude(getParametros(), controller.getDataSource().getConnection()); } + @SuppressWarnings({ "rawtypes", "unchecked" }) 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()); - - PuntoVenta puntoVenta = getController().getCmbPuntoVenta().getSelecteObject(PuntoVenta.class); - if(puntoVenta != null) { - parametros.put("puntoventaId", puntoVenta.getPuntoventaId()); - parametros.put("puntoventa", puntoVenta.getNombpuntoventa()); + + String empresaIds = ""; + String empresas = ""; + + List lsEmpresasSelecionadas = new ArrayList(Arrays.asList(getController().getEmpresaSelList().getData())); + if (lsEmpresasSelecionadas.size() > 0) { + for (int i = 0; i < lsEmpresasSelecionadas.size(); i++) { + Empresa empresa = lsEmpresasSelecionadas.get(i); + empresas += empresa.getNombempresa() + ","; + empresaIds += empresa.getEmpresaId() + ","; + } + + empresaIds = empresaIds.substring(0, empresaIds.length() - 1); + empresas = empresas.substring(0, empresas.length() - 1); + parametros.put("empresaId", empresaIds); + parametros.put("empresa", empresas); } else { - parametros.put("puntoventa", "Todos"); + parametros.put("empresa", "Todas"); } - + + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(getController().getPuntoVentaSelList().getData())); + if (lsPuntoVentaSelecionados.size() > 0) { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + parametros.put("puntoventaId", puntoVentaIds); + parametros.put("puntoventa", puntoVentas); + } else { + parametros.put("puntoventa", "Todas"); + } + obtemIdsEDescricaoStatusKondutoSelecionados(parametros); - + return parametros; } @@ -71,15 +100,15 @@ public class EventListenerExecutarRelatorioIntegracaoAntiFraude extends EventLis List statusKondutoEnvioSelecionados = getController().getKondutoEnvioList().getItensSelecionados(EStatusKondutoEnvio.class); parametros.put("statusKondutoEnvioId", EStatusKondutoEnvio.getIdTodos(statusKondutoEnvioSelecionados)); parametros.put("statusKondutoEnvio", EStatusKondutoEnvio.getDescricaoTodos(statusKondutoEnvioSelecionados)); - + List statusKondutoSelecionados = getController().getKondutoList().getItensSelecionados(EStatusKonduto.class); parametros.put("statusKondutoId", EStatusKonduto.getIdTodos(statusKondutoSelecionados)); parametros.put("statusKonduto", EStatusKonduto.getDescricaoTodos(statusKondutoSelecionados)); } private String obtemPeriodo() { - return FormataUtil.formataDataToString((Date)getController().getDtInicial().getValue(), "", MASCARA_DATA) - +" até "+FormataUtil.formataDataToString((Date)getController().getDtFinal().getValue(), "", MASCARA_DATA); + return FormataUtil.formataDataToString((Date) getController().getDtInicial().getValue(), "", MASCARA_DATA) + + " até " + FormataUtil.formataDataToString((Date) getController().getDtFinal().getValue(), "", MASCARA_DATA); } } 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 index 3f7c05854..0e27c6e80 100644 --- 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 @@ -9,71 +9,91 @@ 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.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.Button; import org.zkoss.zul.Datebox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.enums.TypeEventListener; -import com.rjconsultores.ventaboletos.service.EmpresaService; -import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; -import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPersonalizado; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioGenericoPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioGenericoPuntoVentaSel; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioGenericoEmpresasSel; @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 lsPuntoVenta; - private MyComboboxPuntoVenta cmbPuntoVenta; - + private transient PagedListWrapper plwPuntoVenta; + private MyTextbox txtNombrePuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private Paging pagingPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + + @Autowired + private transient PagedListWrapper plwEmpresa; + private Paging pagingEmpresa; + private Paging pagingEmpresaSel; + private MyListbox empresaList; + private MyListbox empresaSelList; + private Textbox txtNombreEmpresa; + private List lsStatusKondutoTotalBus; private List lsStatusKonduto; private List lsStatusKondutoEnvio; private MyListbox kondutoList; private MyListbox kondutoTotalBusList; private MyListbox kondutoEnvioList; - - private Button btnExecutarRelatorio; - + + private Button btnExecutarRelatorio; + @Override public void doAfterCompose(Component comp) throws Exception { - lsEmpresa = empresaService.obtenerTodos(); - lsPuntoVenta = new ArrayList(); - super.doAfterCompose(comp); kondutoList.setItemRenderer(new RenderPersonalizado(Arrays.asList("descricao"))); kondutoList.setData(Arrays.asList(EStatusKonduto.values())); kondutoTotalBusList.setItemRenderer(new RenderPersonalizado(Arrays.asList("descricao"))); kondutoTotalBusList.setData(Arrays.asList(EStatusKondutoTotalBus.values())); - + kondutoEnvioList.setItemRenderer(new RenderPersonalizado(Arrays.asList("descricao"))); kondutoEnvioList.setData(Arrays.asList(EStatusKondutoEnvio.values())); - - + + puntoVentaList.setItemRenderer(new RenderRelatorioGenericoPuntoVenta()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioGenericoPuntoVentaSel()); + + empresaList.setItemRenderer(new RenderRelatorioGenericoEmpresasSel()); + empresaSelList.setItemRenderer(new RenderRelatorioGenericoEmpresasSel()); + configuraEventosExecucaoRelatorio(); } - + private void configuraEventosExecucaoRelatorio() { - btnExecutarRelatorio.addEventListener(TypeEventListener.ON_CLICK.getEvent(), + btnExecutarRelatorio.addEventListener(TypeEventListener.ON_CLICK.getEvent(), new EventListenerExecutarRelatorioIntegracaoAntiFraude(this)); } @@ -84,14 +104,10 @@ public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardCom public Datebox getDtFinal() { return dtFinal; } - + public MyListbox getKondutoList() { return kondutoList; } - - public MyComboboxEstandar getCmbEmpresa() { - return cmbEmpresa; - } public DataSource getDataSource() { return dataSource; @@ -101,10 +117,6 @@ public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardCom return lsStatusKonduto; } - public List getLsEmpresa() { - return lsEmpresa; - } - public List getLsStatusKondutoTotalBus() { return lsStatusKondutoTotalBus; } @@ -113,14 +125,6 @@ public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardCom return lsStatusKondutoEnvio; } - public List getLsPuntoVenta() { - return lsPuntoVenta; - } - - public MyComboboxPuntoVenta getCmbPuntoVenta() { - return cmbPuntoVenta; - } - public MyListbox getKondutoTotalBusList() { return kondutoTotalBusList; } @@ -129,4 +133,113 @@ public class RelatorioIntegracaoAntiFraudeController extends MyGenericForwardCom return kondutoEnvioList; } + private void executarPesquisaPuntoVenta() { + HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + puntoVentaBusqueda.addFilterNotEqual("puntoventaId", -1); + 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("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + public void onClick$btnPesquisaEmpresa(Event ev) { + executarPesquisaEmpresa(); + } + + 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(); + if (!puntoVentaSelList.getListData().contains(puntoVenta)) { + puntoVentaSelList.addItemNovo(puntoVenta); + } + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + bbPesquisaPuntoVenta.setText(""); + } + + private void executarPesquisaEmpresa() { + HibernateSearchObject empresaBusqueda = new HibernateSearchObject(Empresa.class, pagingEmpresa.getPageSize()); + + empresaBusqueda.addFilterILike("nombempresa", "%" + txtNombreEmpresa.getValue() + "%"); + empresaBusqueda.addFilterEqual("activo", Boolean.TRUE); + empresaBusqueda.addFilterNotEqual("empresaId", -1); + + empresaBusqueda.addSortAsc("nombempresa"); + + plwEmpresa.init(empresaBusqueda, empresaList, pagingEmpresa); + + if (empresaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioDescontosController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisaPuntoVenta(); + } + + public void onClick$btnLimparEmpresa(Event ev) { + empresaList.setData(new ArrayList()); + txtNombreEmpresa.setText(""); + } + + public void onDoubleClick$empresaList(Event ev) { + Empresa empresa = (Empresa) empresaList.getSelected(); + if (!empresaSelList.getListData().contains(empresa)) { + empresaSelList.addItemNovo(empresa); + } + } + + public void onDoubleClick$empresaSelList(Event ev) { + Empresa empresa = (Empresa) empresaSelList.getSelected(); + empresaSelList.removeItem(empresa); + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } + + public MyListbox getEmpresaList() { + return empresaList; + } + + public void setEmpresaList(MyListbox empresaList) { + this.empresaList = empresaList; + } + + public MyListbox getEmpresaSelList() { + return empresaSelList; + } + + public void setEmpresaSelList(MyListbox empresaSelList) { + this.empresaSelList = empresaSelList; + } + } 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 index 8af791a0a..b5578c867 100644 --- 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 @@ -7,30 +7,28 @@ 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 static final String MSG_STATUS_KONDUTO_ENVIO_NAO_INFORMADO = "relatorioIntegracaoAntiFraudeController.MSG.informarStatusKondutoEnvio"; private static final String MSG_STATUS_KONDUTO_TOTALBUS_NAO_INFORMADO = "relatorioIntegracaoAntiFraudeController.MSG.informarStatusKondutoTotalBus"; private RelatorioIntegracaoAntiFraudeController controller; - + public ValidaFormRelatorioIntegracaoAntiFraude(RelatorioIntegracaoAntiFraudeController controller) { this.controller = controller; } @Override public boolean isValido() { - return isDatasValidas() + return isDatasValidas() && isFiltrosValidos(); } private boolean isFiltrosValidos() { - return possuiEmpresaSelecionada() - && possuiStatusKondutoEnvioSelecionado() + return possuiStatusKondutoEnvioSelecionado() && possuiStatusKondutoSelecionado() && possuiStatusKondutoTotalBusSelecionado(); } @@ -59,27 +57,19 @@ public class ValidaFormRelatorioIntegracaoAntiFraude implements ValidaForm { 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/utilerias/render/RenderRelatorioGenericoPuntoVenta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioGenericoPuntoVenta.java new file mode 100644 index 000000000..2a3a8f9d9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioGenericoPuntoVenta.java @@ -0,0 +1,34 @@ + +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; + +public class RenderRelatorioGenericoPuntoVenta implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + PuntoVenta puntoVenta = (PuntoVenta) o; + + Listcell lc = new Listcell(puntoVenta.getNombpuntoventa()); + lc.setParent(lstm); + + Empresa empresa = puntoVenta.getEmpresa(); + if (empresa != null) { + lc = new Listcell(empresa.getNombempresa()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lc = new Listcell(puntoVenta.getNumPuntoVenta()); + lc.setParent(lstm); + + lstm.setAttribute("data", puntoVenta); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioGenericoPuntoVentaSel.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioGenericoPuntoVentaSel.java new file mode 100644 index 000000000..9a667e7a6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioGenericoPuntoVentaSel.java @@ -0,0 +1,43 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +/** + * @author Thiago + * + */ +public class RenderRelatorioGenericoPuntoVentaSel implements ListitemRenderer { + + + public void render(Listitem lstm, Object o) throws Exception { + PuntoVenta puntoVenta = (PuntoVenta) o; + + Listcell lc = new Listcell(puntoVenta.getNombpuntoventa()); + lc.setParent(lstm); + + Empresa empresa = puntoVenta.getEmpresa(); + if (empresa != null) { + lc = new Listcell(empresa.getNombempresa()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lc = new Listcell(puntoVenta.getNumPuntoVenta()); + lc.setParent(lstm); + + lstm.setAttribute("data", puntoVenta); + } +} diff --git a/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul b/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul index 7c389d1df..e54eb765b 100644 --- a/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul +++ b/web/gui/relatorios/filtroRelatorioIntegracaoAntiFraude.zul @@ -5,10 +5,11 @@ - - + + @@ -16,60 +17,153 @@ - + +