From 7b7930a7061683e97288fd4a670be2760f023053 Mon Sep 17 00:00:00 2001 From: emerson Date: Fri, 10 Aug 2018 19:44:05 +0000 Subject: [PATCH] fixes bug#0011731 dev: lucas qua: renato MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implementação do relatório de histórico de compras git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@84145 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioHistoricoCompras.java | 142 +++++++++ .../RelatorioHistoricoCompras_es.properties | 12 + .../RelatorioHistoricoCompras_pt.properties | 12 + .../RelatorioHistoricoCompras.jasper | Bin 0 -> 32254 bytes .../templates/RelatorioHistoricoCompras.jrxml | 276 ++++++++++++++++++ .../utilitarios/PagedListCliente.java | 32 ++ .../utilitarios/PagedListGenerico.java | 91 ++++++ .../utilitarios/PagedListPuntoVenta.java | 25 ++ .../relatorios/utilitarios/ValidarDatas.java | 70 +++++ .../catalogos/EditarEmpresaController.java | 6 +- .../EditarPuntoVentaComissaoController.java | 9 +- .../catalogos/EditarPuntoVentaController.java | 3 +- ...quedaRetencaoDiariaComissaoController.java | 3 +- .../comissao/ConferenciaController.java | 6 +- .../EditarMotivoCancelacionController.java | 3 +- .../relatorios/EspecializaLista.java | 50 ++++ .../RelatorioHistoricoComprasController.java | 242 +++++++++++++++ .../web/utilerias/MensagensUtils.java | 21 ++ .../ItemMenuRelatorioHistoricoCompras.java | 26 ++ .../utilerias/menu/menu_original.properties | 1 + .../utilerias/render/RenderPersonalizado.java | 92 ++++++ web/WEB-INF/i3-label_es_MX.label | 24 ++ web/WEB-INF/i3-label_pt_BR.label | 24 ++ .../filtroRelatorioHistoricoCompras.zul | 231 +++++++++++++++ 24 files changed, 1386 insertions(+), 15 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoCompras.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_pt.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoCompras.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoCompras.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListCliente.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListGenerico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListPuntoVenta.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidarDatas.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/EspecializaLista.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioHistoricoComprasController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/MensagensUtils.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioHistoricoCompras.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPersonalizado.java create mode 100644 web/gui/relatorios/filtroRelatorioHistoricoCompras.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoCompras.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoCompras.java new file mode 100644 index 000000000..d6252f355 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoCompras.java @@ -0,0 +1,142 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utils.FormataUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioHistoricoCompras extends Relatorio { + + public RelatorioHistoricoCompras(Map parametros, Connection conexao) { + super(parametros, conexao); + } + + @Override + protected void processaParametros() throws Exception { + setCustomDataSource(new ArrayCustomDataSource(this)); + } + + private final class ArrayCustomDataSource extends ArrayDataSource { + private ArrayCustomDataSource(Relatorio relatorio) throws Exception { + super(relatorio); + } + + @Override + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + String sql = getSql(parametros); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + setParametrosConsultaSql(parametros, stmt); + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + + Map dataResult = new HashMap(); + + dataResult.put("venda", FormataUtil.formataDataToString((Date)rset.getTimestamp("venda"), "", "dd/MM/yyyy hh:mm")); + dataResult.put("bilhete", rset.getString("bilhete")); + dataResult.put("servico", rset.getString("servico")); + dataResult.put("origem", rset.getString("origem")); + dataResult.put("destino", rset.getString("destino")); + dataResult.put("operador", rset.getString("operador")); + dataResult.put("valor", rset.getBigDecimal("valor")); + dataResult.put("viagem", FormataUtil.formataDataToString((Date)rset.getTimestamp("viagem"), "", "dd/MM/yyyy hh:mm")); + dataResult.put("poltrona", rset.getString("poltrona")); + dataResult.put("agencia", rset.getString("agencia")); + dataResult.put("celular", rset.getString("celular")); + dataResult.put("telefone", rset.getString("telefone")); + dataResult.put("comercial", rset.getString("comercial")); + dataResult.put("nome", rset.getString("nome")); + dataResult.put("cpf", rset.getString("cpf")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + + private void setParametrosConsultaSql(Map parametros, NamedParameterStatement stmt) throws SQLException { + if (parametros.get("dtVendaInicial") != null) { + stmt.setTimestamp("dt_venda_inicio", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("dtVendaInicial")).getTime())); + stmt.setTimestamp("dt_venda_fim", new Timestamp(DateUtil.fimFecha((Date) parametros.get("dtVendaFinal")).getTime())); + } + + if (parametros.get("dtEmbarqueInicial") != null) { + stmt.setTimestamp("dt_embarque_inicio", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("dtEmbarqueInicial")).getTime())); + stmt.setTimestamp("dt_embarque_fim", new Timestamp(DateUtil.fimFecha((Date) parametros.get("dtEmbarqueFinal")).getTime())); + } + } + + private String getSql(Map parametros) { + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT "); + sql.append(" ca.fechorventa_h venda, "); + sql.append(" ca.numfoliosistema bilhete, "); + sql.append(" ca.corrida_id servico, "); + sql.append(" o.descparada origem, "); + sql.append(" d.descparada destino, "); + sql.append(" u.nombusuario operador, "); + sql.append(" ca.preciopagado valor, "); + sql.append(" ca.fechorviaje viagem, "); + sql.append(" ca.numasiento poltrona, "); + sql.append(" pv.nombpuntoventa agencia, "); + sql.append(" cli.numtelefonodos celular, "); + sql.append(" cli.numtelefono telefone, "); + sql.append(" cli.numfax comercial, "); + sql.append(" cli.nombcliente nome, "); + sql.append(" CASE "); + sql.append(" WHEN cli.tipoidentificauno_id = 2 THEN cli.numidentificauno "); + sql.append(" WHEN cli.tipoidentificados_id = 2 THEN cli.numidentificados "); + sql.append(" ELSE NULL "); + sql.append(" END "); + sql.append(" cpf "); + sql.append(" FROM "); + sql.append(" caja ca "); + sql.append(" INNER JOIN cliente cli ON ca.cliente_id = cli.cliente_id "); + sql.append(" INNER JOIN usuario u ON ca.usuario_id = u.usuario_id "); + sql.append(" INNER JOIN punto_venta pv ON ca.puntoventa_id = pv.puntoventa_id "); + sql.append(" INNER JOIN corrida co ON ca.corrida_id = co.corrida_id "); + sql.append(" AND ca.feccorrida = co.feccorrida "); + sql.append(" LEFT JOIN parada o ON co.origen_id = o.parada_id "); + sql.append(" LEFT JOIN parada d ON co.destino_id = d.parada_id "); + + if (parametros.get("dtVendaInicial") != null + && parametros.get("dtEmbarqueInicial") != null) { + sql.append(" WHERE ca.fechorventa_h BETWEEN :dt_venda_inicio and :dt_venda_fim "); + sql.append(" and ca.fechorviaje BETWEEN :dt_embarque_inicio and :dt_embarque_fim "); + } else if (parametros.get("dtVendaInicial") != null) { + sql.append(" WHERE ca.fechorventa_h BETWEEN :dt_venda_inicio and :dt_venda_fim "); + } else { + sql.append(" WHERE ca.fechorviaje BETWEEN :dt_embarque_inicio and :dt_embarque_fim "); + + } + + if (parametros.get("puntoVentaId") != null) { + sql.append(" and pv.puntoventa_id in("+parametros.get("puntoVentaId")+") "); + } + if (parametros.get("rutaId") != null) { + sql.append(" and ca.ruta_id in("+parametros.get("rutaId")+") "); + } + if (parametros.get("clienteId") != null) { + sql.append(" and cli.cliente_id in("+parametros.get("clienteId")+") "); + } + sql.append("order by ca.fechorventa_h"); + return sql.toString(); + } + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_es.properties new file mode 100644 index 000000000..0888fae98 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_es.properties @@ -0,0 +1,12 @@ +#geral +msg.noData=No fue posible obtener datos con los parámetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_pt.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_pt.properties new file mode 100644 index 000000000..8ac4bd1a6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoCompras_pt.properties @@ -0,0 +1,12 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impresso por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoCompras.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoCompras.jasper new file mode 100644 index 0000000000000000000000000000000000000000..4f033ebe4717061e99b9f829344baa3eea2e2fa9 GIT binary patch literal 32254 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 z zGa~4N2pq03)5BQX)(+8@CqcA_o7=th9L8*TTc#mC+^R@!kt?<-gl`7;(7@{BlgWPU zDs>)l>X3WCX%L!CaU&aPNi@@kp>|a1>yJM<>DU*GDA0tRQIJw4RX9J=?!$Zq2g39W zrVd>!Rb0`=Ag+8+SP?W#V1rF!Hs9c+!lF6VbNF_EZ|BdI)}!L|&?{~}WVh=+{`{^~ z^Nh!yxvc31C}=gK$fKa$8O56SPTzd#zV|jb`kBus%{!=hKInD|k-W=~FY-=haV`yp zvTkhi=96l$)i0LlPRoPaSl8z2aeS-+fGl~&9A>PZyn3=zz&R!L*%uDGZ*Ppthj+JN zl^e_4={FYefk?BrQu>|K+_Kz3W$5OnU4}_w>~w-<6HDNnpQ!o*B*(Jx&Xvj~cHSEC z^jM*(Yg53131KITuF3ZA%-Z-NR=D_kj=bOU^USn*NMk9nGWMsHM2?JfHe%(upzlL+ zn!=~V;x<-$YFywgMe;LY@3sqJ)0Bj@QE3UOZ}f32)91|K5vBs;Qe#)!ver5bcwj59 z(v#IRF!f=nM5!3=?eisLfs^?=6NZuFzAc?kf$w;j7DIhlBQZU?zP)8xYn#h9mwO(3 zSzH&t_wu@8;0#Qhr9~!{1%nmXzW1`z%;3AI@cgqS*dfO%kcJ@_cfKFH9Cx|PWpUwe z;U>-Da#Z2@6_@2wB$V;WtXw)Wk0ph_!!t-k+wFD?GW&1(^N>r@k7s9+KpLr{V zIgdBVN3@IEmbLInD1n{1btt<8Hb>gt6lvK*~ zYR_e_HV&O5xZB!4U{uBlr$Zdg@VU+2>Lwc@BR!sW@U&;u6@X zCv+h>p{wL~4$85_kAV4FV0GQLk0*a#672k)o`_955wvTT6Wvln9GQZ~^zwpsm$S1E z9U$+zrbhtPs-#J?P3?s-#(%ck1s@4i;AGzpsEEE~&VP|x24<^T5^ zJn%R!8+6Y}Zc)Z$5IxK#cxPLJ#=G&^`HeTVcSa$oWD&b64iQu|ea3P@#W=vp3ejwu zQw|5$yb%7`gpx9xCNV!mrRr`$h=S_wpb(X*yM-YtS9b@8s6yQx8lsT8s}0d;bypw4 z{6Lo17^1Q2?ywM5s=MY8jZ=4rhhU1ybgdy8ukPAI__$EU9TB35>MjzZN$PG{h$gGM z6(O3U?v4!64(e`o2#&&OT#utew4=J~3eisLE*hep)m?Xpc2Rf0U{`gwHblFryI6>J zS9j|}w1>Lu57D0LE*Zj+MDiWSg=lYemkH56>TV!J)79O^5Y13`n?f{`W-(VMglJ!N zcVY;~?#j56LsYHqP7P6wx;q^b%QlueLAI0kB|xaV2e9(j51(vLGn!J+?CHwDX8&dl zuVLqZ**Q|r5 zuFn?W>aZZ)h|Z|fo60LlHw(&LmJ8A?Xk?v3tE(VwLq~VwJbEffKgrg{qo9IxJ2ZjL z;G>y>bSJ9er;>tnH%1Aii-L4dmU&YN1?j$QZC&jXqzAIGuG$IGL#UCdZ-Vp)#yZX5 z5JeND#~@#hmI=}mg;`D9@={Jq>1W9A=$IfqjS49R6QrLDa`sIG=~+Bz)e@xt#)H-? zLHZv&Xr&UQ7lb@HIhhX9FHx|gPJ;9@G={57g7hkdp-=Hbj0e*94UwGg^S%&$PX8>Y%jsVbu56iV zV@@f3QBF@WNiN0J@D7!l><*Pu`VZL6dRc-3Hh2-1e}@b}sxV^!(orE%B#JQ>icx4M z2b%VH51zm`ZY1j=5o8{p5@o2jld2IX{ed3~Y0K3THe}R-e!=(Hm_tm*75Wx;_&102 z6}nbFL(|GD^sKx>%gQTsth_?Q$}9A%yh6LmD|D;8LbJ*%^s2lsJudh$}9Azyh3}*D|Dy4LUYP1^rpN*YsxEhro2L9 z$}9Axyh2;bD|Ds2LQ~2s^rXB(OUf&Bq`X2y;u?gD3bqTvx$wiE1sr)>{&O?$rTu4$ zpV9#w9LT}9I9SBNAsj5`ppJtE4w^Vv!ogAwS~zIqpo4=j2b~-&=U^oVt2j7{gJU>2 zmV-4M^l;G2K_3U}IEZtQ;2_08ngg4I4IB(|a6AW_IXH=fQ#d${gEQ_xg#>*Y;Vm#9 zc-f^GW=cac!vH(3sm*anK;aOEz8ZieV z=4vD6TZs9g5wi#}*BLQ~Am#=mW-(%JGGgiw^CKgs0Wm)|Vww8jhK~)dDMtmg_y^Un4_{yvmCZJ z(F!!_N{G^t5Q9~;gjORwisE!MTv*3IK)UE!I+pIHC_PPU=rxGd|56WqL6#Upy<%5d zE9O$4XrP!_PU}P;tw(dhl+?}Jt($i&7fu`GpbF zgP7-xm|ny@Z^ZN==0ziB9b#TGV&aH-#fV8D=2u2c3NgPnV$z8DjS*ub<_#le17hAX zVg?cOdn4xfY$McR%0!ewBjBH-qyaR-1~kG(G{PVnVG|nRcr?NZXoSsZgcH#SC!rBe zMkAbpMmQCXa2f!InXY@}76mx1#!KJPFManhdY6ZwSyg{DVopNLpN*JP5c3x!<}}27 zV8nQat*KIzoDJsB0rTgA`R{`H?}7RAz|M#CSFrXsRIeCMAMrRIxEAacp}RjKTBqHD z>;0he-xU0g!|z1=aD){GC88hVcPoCJ<|+JM#1G%d(+Bwd8+ps{n~WdM7!&jGtHlo| z8;YaxTaVu+{I=kSvcz@x-SHrOa%Azn^jYgo;!w~1JkR|;d|#x}O!LH#^~4utW$R7!2A=xvp|8}_^LXlYpB~54I``==JPo=}H{hwqeYyls$GT5v z;VI5fg7AhD@U+II_2cOn_o)j{Y4_;}JRR>o)#EAQKF!Bd%6-}gPaE8)9q?qkPZcxA zi@-giq;=oh(E>_w{SqpG=n}N^Wf0&i(SBD!Ft0@$UI%%&3GH|@T}s=~mbXH=+=1{; zx}EMpo8C(g(SvB$hv?@R@?WIK>18~<1p$AXo<$q~0+RDQ+W7_g3dVRDy&^*NYqa<4 zVk&Ixz3445o!&va{{jE7&7aWrf5sT}0owmV5vGqI10RcH=`+Z|=ORI0Ko-6fn_(Yr z5dm?wC=pvlskl^Bi0ed1+$bu=9b%lgTTB!WiJjodE&V^qy+@RLCD(aUlIuJv$#tHT zpUsRb)J;uI!{V+ohK!^&XbZ{=SfMf^E9mFioId{PbXXK zODBr`=oB%B&VoKW7c#X~EP!8PA^lJ+!t8%B-3l4IT{P1Dq6u@}rI-#Jju~e=y(l^$ zpPi7$WtiO^2^m~Pe-p>hzeN{)CAu+b=z)y&iOC`+riy;Cmq>`|A}!{Lj5t7S6t!Yd zG(a}n#fc&;P8COs)5NjjOtBuanh@uRP2yZo&&SgRkld~K?_x;q4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListCliente.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListCliente.java new file mode 100644 index 000000000..d77f30864 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListCliente.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.TipoIdentificacion; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.trg.search.Filter; + +public class PagedListCliente extends PagedListGenerico { + + private static final int TIPO_DOCUMENTO_CPF = 2; + + public PagedListCliente(MyListbox listBox, MyTextbox txtPesquisa, Paging paging) { + super(listBox, txtPesquisa, paging); + super.setHibernateSearchObject(new HibernateSearchObject(Cliente.class, getPaging().getPageSize())); + } + + @Override + protected void personalizarBusca() { + HibernateSearchObject clienteSearch = getHibernateSearchObject(); + TipoIdentificacion tipoIdentificacion = new TipoIdentificacion(); + tipoIdentificacion.setTipoIdentificacionId(TIPO_DOCUMENTO_CPF); + clienteSearch.addFilterAnd(Filter.or( + Filter.and(Filter.ilike("numIdentificaUno", "%" + getTxtPesquisa().getValue() + "%"), Filter.equal("tipoIdentificacionUno", tipoIdentificacion)), + Filter.and(Filter.ilike("numIdentificaDos", "%" + getTxtPesquisa().getValue() + "%"), Filter.equal("tipoIdentificacionDos", tipoIdentificacion)))); + clienteSearch.addFilterEqual("activo", true); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListGenerico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListGenerico.java new file mode 100644 index 000000000..4ccc6c57d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListGenerico.java @@ -0,0 +1,91 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.util.ArrayList; + +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; +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; + +public abstract class PagedListGenerico { + + private static final String MSG_NENHUM_REGISTRO = "MSG.ningunRegistro"; + + private Paging paging; + private MyListbox listBox; + private MyTextbox txtPesquisa; + private HibernateSearchObject hibernateSearchObject; + + public PagedListGenerico(MyListbox listBox, MyTextbox txtPesquisa, Paging paging) { + this.listBox = listBox; + this.txtPesquisa = txtPesquisa; + this.paging = paging; + } + + public void buscarDadosPagedList(PagedListWrapper pagedList) { + buscarDados(pagedList); + } + + private void buscarDados(PagedListWrapper pagedList) { + personalizarBusca(); + + pagedList.init(getHibernateSearchObject(), getListBox(), getPaging()); + } + + protected abstract void personalizarBusca(); + + public void limparPesquisaListBox() { + limparPesquisaListBox(listBox, txtPesquisa); + } + + public static void limparPesquisaListBox(MyListbox listBox, MyTextbox txtPesquisa) { + listBox.setData(new ArrayList()); + txtPesquisa.setText(""); + } + + public void validarPagedListSemRegistro(String tituloRelatorio) { + validarPagedListSemRegistro(listBox, tituloRelatorio); + } + + public static void validarPagedListSemRegistro(MyListbox listBox, String tituloRelatorio) { + if (listBox.getData().length == 0) { + MensagensUtils.showMessageInformation(MSG_NENHUM_REGISTRO, tituloRelatorio); + } + } + + public Paging getPaging() { + return paging; + } + + public void setPaging(Paging paging) { + this.paging = paging; + } + + public MyListbox getListBox() { + return listBox; + } + + public void setListBox(MyListbox listBox) { + this.listBox = listBox; + } + + public MyTextbox getTxtPesquisa() { + return txtPesquisa; + } + + public void setTxtPesquisa(MyTextbox txtPesquisa) { + this.txtPesquisa = txtPesquisa; + } + + public HibernateSearchObject getHibernateSearchObject() { + return hibernateSearchObject; + } + + public void setHibernateSearchObject(HibernateSearchObject hibernateSearchObject) { + this.hibernateSearchObject = hibernateSearchObject; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListPuntoVenta.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListPuntoVenta.java new file mode 100644 index 000000000..73b50163f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PagedListPuntoVenta.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; + +public class PagedListPuntoVenta extends PagedListGenerico { + + public PagedListPuntoVenta(MyListbox listBox, MyTextbox txtPesquisa, Paging paging) { + super(listBox, txtPesquisa, paging); + super.setHibernateSearchObject(new HibernateSearchObject(PuntoVenta.class, getPaging().getPageSize())); + } + + @Override + protected void personalizarBusca() { + HibernateSearchObject puntoVentaBusqueda = getHibernateSearchObject(); + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + getTxtPesquisa().getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", true); + puntoVentaBusqueda.addFilterNotEqual("puntoventaId", -1); + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidarDatas.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidarDatas.java new file mode 100644 index 000000000..6f6f361a5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ValidarDatas.java @@ -0,0 +1,70 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; + +public class ValidarDatas { + + private Datebox dataInicial; + private Datebox dataFinal; + + public ValidarDatas(Datebox dataInicial, Datebox dataFinal) { + this.dataInicial = dataInicial; + this.dataFinal = dataFinal; + } + + public boolean isPeriodoNaoInformado() { + return isPeriodoInicialNaoInformado() + && isPeriodoFinalNaoInformado(); + } + + public boolean isPeriodoParcialmenteInformado() { + return (!isPeriodoInicialNaoInformado() && isPeriodoFinalNaoInformado()) + || (isPeriodoInicialNaoInformado() && !isPeriodoFinalNaoInformado()); + } + + public boolean isPeriodoFinalNaoInformado() { + return dataFinal.getValue() == null; + } + + public boolean isPeriodoInicialNaoInformado() { + return dataInicial.getValue() == null; + } + + public boolean possuiDataInicioMaiorQueTermino() { + return dataInicial.getValue().after(dataFinal.getValue()); + } + + public boolean validarPeriodoNaoInformado(String labelMensagem, String tituloMenssagem) { + if (isPeriodoNaoInformado()) { + MensagensUtils.showMessageInformation(labelMensagem, tituloMenssagem); + return true; + } + return false; + } + + public boolean validarPeriodoInicialNaoInformado(String labelMensagem, String tituloMenssagem) { + if (isPeriodoInicialNaoInformado()) { + MensagensUtils.showMessageInformation(labelMensagem, tituloMenssagem); + return true; + } + return false; + } + + public boolean validarPeriodoFinalNaoInformado(String labelMensagem, String tituloMenssagem) { + if (isPeriodoFinalNaoInformado()) { + MensagensUtils.showMessageInformation(labelMensagem, tituloMenssagem); + return true; + } + return false; + } + + public boolean validarDataInicioMaiorQueTermino(String labelMensagem, String tituloMenssagem) { + if (possuiDataInicioMaiorQueTermino()) { + MensagensUtils.showMessageInformation(labelMensagem, tituloMenssagem); + return true; + } + return false; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index c3aea7d7c..2f563886e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -33,7 +33,7 @@ import org.zkoss.zul.Radio; import org.zkoss.zul.Row; import org.zkoss.zul.Textbox; -import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.ComEmpCategoria; @@ -1265,7 +1265,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { } public Boolean getGeneraNumfoliosistemaVtaInternetImp() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_GENERA_FOLIOSISTEMA_VTA_INT_IMP_POSTERIOR); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_GENERA_FOLIOSISTEMA_VTA_INT_IMP_POSTERIOR); } public Checkbox getChkHabilitarFidelidade() { @@ -1304,7 +1304,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer { public Boolean isPermissaoVendaSemReducaoZ() { - return !UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EDITAR_VENDA_SEM_REDUCAO_Z); + return !UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_EDITAR_VENDA_SEM_REDUCAO_Z); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java index 315df7f70..59ceea674 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java @@ -25,11 +25,9 @@ import org.zkoss.zul.Messagebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Tab; -import com.rjconsultores.ventaboletos.constantes.Constantes; -import com.rjconsultores.ventaboletos.entidad.ContaCorrentePtoVta; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.ContaMD; import com.rjconsultores.ventaboletos.entidad.DescontoComissao; -import com.rjconsultores.ventaboletos.entidad.FechamentoParamptovta; import com.rjconsultores.ventaboletos.entidad.ItemDesconto; import com.rjconsultores.ventaboletos.entidad.PtovtaComissao; import com.rjconsultores.ventaboletos.entidad.PtovtaContaMD; @@ -39,7 +37,6 @@ import com.rjconsultores.ventaboletos.service.ItemDescontoService; import com.rjconsultores.ventaboletos.service.PtovtaComissaoService; import com.rjconsultores.ventaboletos.service.PtovtaContaMDService; import com.rjconsultores.ventaboletos.service.PuntoVentaService; -import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -436,11 +433,11 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer } public Boolean isPermissaoEditarComissao() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EDITAR_COMISSAO); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_EDITAR_COMISSAO); } public Boolean isPermissaoEditarPorcentagem() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EXIBIR_TAB_COMISSAO_CONTA); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_EXIBIR_TAB_COMISSAO_CONTA); } public List getLsItemDesconto() { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java index 7dbab0c87..73567b449 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java @@ -67,6 +67,7 @@ import org.zkoss.zul.Textbox; import org.zkoss.zul.api.Timebox; import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.CategoriaBloqueioImpPosterior; import com.rjconsultores.ventaboletos.entidad.Ciudad; @@ -3413,7 +3414,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } public Boolean isPermissaoEditarComissao() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EDITAR_COMISSAO); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_EDITAR_COMISSAO); } public List getLsEmpresaContaBancarias() { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaRetencaoDiariaComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaRetencaoDiariaComissaoController.java index 7ec1b9a93..fde76f021 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaRetencaoDiariaComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/BusquedaRetencaoDiariaComissaoController.java @@ -21,6 +21,7 @@ import org.zkoss.zul.Datebox; import org.zkoss.zul.Messagebox; import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; @@ -217,7 +218,7 @@ public class BusquedaRetencaoDiariaComissaoController extends MyGenericForwardCo } public Boolean isPermissaoCalculoDiarioComissaoTodasAsAgencias() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_CALCULODIARIOCOMISSAO_AUTORIZACAOCALCULOTODASAGENCIAS); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_CALCULODIARIOCOMISSAO_AUTORIZACAOCALCULOTODASAGENCIAS); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/ConferenciaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/ConferenciaController.java index df354b080..f98fb8ce1 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/ConferenciaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/ConferenciaController.java @@ -30,7 +30,7 @@ import org.zkoss.zul.Radio; import org.zkoss.zul.Row; import org.zkoss.zul.Tab; -import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Conferencia; import com.rjconsultores.ventaboletos.entidad.ConferenciaPendencia; import com.rjconsultores.ventaboletos.entidad.Empresa; @@ -1442,11 +1442,11 @@ public class ConferenciaController extends MyGenericForwardComposer { } public Boolean isPermissaoEncerrarMovimento() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_ENCERRAR_MOVIMENTODIARIO); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_ENCERRAR_MOVIMENTODIARIO); } public Boolean isPermissaoReabrirMovimento() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_REABRIR_MOVIMENTODIARIO); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_REABRIR_MOVIMENTODIARIO); } public Boolean isExibirBotaoReabrirMovimento() { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarMotivoCancelacionController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarMotivoCancelacionController.java index a3f078b6d..5a5c18eff 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarMotivoCancelacionController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarMotivoCancelacionController.java @@ -23,6 +23,7 @@ import org.zkoss.zul.Messagebox; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.MotivoCancelacion; import com.rjconsultores.ventaboletos.service.MotivoCancelacionService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -200,7 +201,7 @@ public class EditarMotivoCancelacionController extends MyGenericForwardComposer } public Boolean isPermissaoAlteraExibecancel() { - return UsuarioLogado.getUsuarioLogado().isPermisoClave(Constantes.CLAVE_EDITAR_ALTERA_EXIBECANCEL); + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_EDITAR_ALTERA_EXIBECANCEL); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/EspecializaLista.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/EspecializaLista.java new file mode 100644 index 000000000..e083b2917 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/EspecializaLista.java @@ -0,0 +1,50 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.List; + +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +public class EspecializaLista { + + private Class classe; + private MyListbox listBox; + private String nomeMetodoPk; + + public EspecializaLista(Class classe, MyListbox listBox, String nomeMetodoPk) { + this.classe = classe; + this.listBox = listBox; + this.nomeMetodoPk = nomeMetodoPk; + } + + public List getLista() { + return (List)(Object)Arrays.asList(listBox.getData()); + } + + public String obtemIds() { + StringBuilder ids = new StringBuilder(); + for (T objeto : getLista()) { + try { + String valorPk = classe.getMethod(nomeMetodoPk).invoke(objeto).toString(); + ids.append(valorPk); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (SecurityException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } + ids.append(", "); + } + return removeUltimoCaratere(ids); + } + + public static String removeUltimoCaratere(StringBuilder ids) { + return ids.substring(0, ids.length()-2); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioHistoricoComprasController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioHistoricoComprasController.java new file mode 100644 index 000000000..5ffe1ea96 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioHistoricoComprasController.java @@ -0,0 +1,242 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +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.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Paging; + +import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioHistoricoCompras; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PagedListCliente; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PagedListGenerico; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PagedListPuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ValidarDatas; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; +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.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPersonalizado; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaHorario; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; + +@Controller("relatorioHistoricoComprasController") +@Scope("prototype") +public class RelatorioHistoricoComprasController extends MyGenericForwardComposer { + + private static final String MSG_DATA_INICIAL_EMBARQUE_MAIOR_FINAL = "relatorioHistoricoComprasController.MSG.dataInicialEmbarqueMaiorFinal"; + private static final String MSG_DATA_INICIAL_VENDA_MAIOR_FINAL = "relatorioHistoricoComprasController.MSG.dataInicialVendaMaiorFinal"; + private static final String MSG_PERIODO_VENDA_INCOMPLETO = "relatorioHistoricoComprasController.MSG.informarDataVenda"; + private static final String MSG_PERIODO_EMBARQUE_INCOMPLETO = "relatorioHistoricoComprasController.MSG.informarDataEmbarque"; + private static final String TITULO_RELATORIO = "relatorioHistoricoComprasController.window.title"; + private static final String MSG_FILTRO_SEM_PERIODO = "relatorioHistoricoComprasController.MSG.informarFiltroData"; + + private static final long serialVersionUID = 1L; + + private Datebox dtVendaInicial; + private Datebox dtVendaFinal; + private Datebox dtEmbarqueInicial; + private Datebox dtEmbarqueFinal; + + private MyTextbox txtNombrePuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + + private MyListbox linhaList; + private MyListbox linhaSelList; + private MyTextbox txtPalavraPesquisaLinha; + + private MyListbox cpfList; + private MyListbox cpfSelList; + private MyTextbox txtCpfPesquisa; + private Paging pagingCpfCliente; + + @Autowired + private transient PagedListWrapper pagedListPuntoVenta; + @Autowired + private transient PagedListWrapper pagedListCliente; + @Autowired + private RutaService rutaService; + @Autowired + private DataSource dataSource; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + configuraRenders(); + } + + private void configuraRenders() { + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + + linhaList.setItemRenderer(new RenderRelatorioLinhaHorario()); + linhaSelList.setItemRenderer(new RenderRelatorioLinhaHorario()); + + List colunasClienteRender = Arrays.asList("numIdentificaUno", "nombcliente"); + cpfList.setItemRenderer(new RenderPersonalizado(colunasClienteRender)); + cpfSelList.setItemRenderer(new RenderPersonalizado(colunasClienteRender).comBotaoExcluir(true)); + } + + public void onClick$btnPesquisaPuntoVenta(Event ev) throws Exception { + PagedListPuntoVenta pageList = new PagedListPuntoVenta(puntoVentaList, txtNombrePuntoVenta, pagingPuntoVenta); + pageList.buscarDadosPagedList(pagedListPuntoVenta); + + pageList.validarPagedListSemRegistro(TITULO_RELATORIO); + } + + public void onClick$btnLimpar(Event ev) { + PagedListGenerico.limparPesquisaListBox(puntoVentaList, txtNombrePuntoVenta); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + puntoVentaSelList.removeItem((PuntoVenta) puntoVentaSelList.getSelected()); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + validarInclusaoLista((PuntoVenta) puntoVentaList.getSelected(), puntoVentaSelList); + } + + public void onClick$btnPesquisaLinha(Event ev) { + linhaList.setData(rutaService.buscaRuta(txtPalavraPesquisaLinha.getText())); + PagedListGenerico.validarPagedListSemRegistro(linhaList, TITULO_RELATORIO); + } + + public void onClick$btnLimparLinha(Event ev) { + PagedListGenerico.limparPesquisaListBox(linhaList, txtPalavraPesquisaLinha); + } + + public void onDoubleClick$linhaSelList(Event ev) { + linhaSelList.removeItem((Ruta) linhaSelList.getSelected()); + } + + public void onDoubleClick$linhaList(Event ev) { + validarInclusaoLista((Ruta) linhaList.getSelected(), linhaSelList); + } + + public void onClick$btnPesquisaCpf(Event ev) { + PagedListCliente pageListCliente = new PagedListCliente(cpfList, txtCpfPesquisa, pagingCpfCliente); + pageListCliente.buscarDadosPagedList(pagedListCliente); + pageListCliente.validarPagedListSemRegistro(TITULO_RELATORIO); + } + + public void onClick$btnLimparCpf(Event ev) { + PagedListCliente.limparPesquisaListBox(cpfList, txtCpfPesquisa); + } + + public void onDoubleClick$cpfSelList(Event ev) { + cpfSelList.removeItem((Cliente) cpfSelList.getSelected()); + } + + public void onDoubleClick$cpfList(Event ev) { + validarInclusaoLista((Cliente) cpfList.getSelected(), cpfSelList); + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + if (isDatasValidas()) { + Relatorio relatorio = new RelatorioHistoricoCompras(getParametros(), dataSource.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel(TITULO_RELATORIO), args, MODAL); + } + } + + private Map getParametros() { + Map parametros = new HashMap(); + + parametros.put("NOME_RELATORIO", Labels.getLabel(TITULO_RELATORIO)); + parametros.put("dtVendaInicial", dtVendaInicial.getValue()); + parametros.put("dtVendaFinal", dtVendaFinal.getValue()); + parametros.put("dtEmbarqueInicial", dtEmbarqueInicial.getValue()); + parametros.put("dtEmbarqueFinal", dtEmbarqueFinal.getValue()); + getParametroPuntoVenta(parametros); + getParametroLinha(parametros); + getParametroCliente(parametros); + + return parametros; + } + + private void getParametroCliente(Map parametros) { + EspecializaLista especializaLista = new EspecializaLista(Cliente.class, cpfSelList, "getClienteId"); + if (!especializaLista.getLista().isEmpty()) { + parametros.put("clienteId", especializaLista.obtemIds()); + } + } + + private void getParametroLinha(Map parametros) { + EspecializaLista especializaLista = new EspecializaLista(Ruta.class, linhaSelList, "getRutaId"); + if (!especializaLista.getLista().isEmpty()) { + parametros.put("rutaId", especializaLista.obtemIds()); + } + } + + private void getParametroPuntoVenta(Map parametros) { + EspecializaLista especializaLista = new EspecializaLista(PuntoVenta.class, puntoVentaSelList, "getPuntoventaId"); + if (!especializaLista.getLista().isEmpty()) { + parametros.put("puntoVentaId", especializaLista.obtemIds()); + } + } + + private void validarInclusaoLista(Object objeto, MyListbox listBox) { + if (objeto != null && + !Arrays.asList(listBox.getData()).contains(objeto)) { + listBox.addItemNovo(objeto); + } + } + + private boolean isDatasValidas() { + ValidarDatas validarDtVenda = new ValidarDatas(dtVendaInicial, dtVendaFinal); + ValidarDatas validarDtEmbarque = new ValidarDatas(dtEmbarqueInicial, dtEmbarqueFinal); + + if (isDatasPeriodosNaoInformados(validarDtVenda, validarDtEmbarque)) { + MensagensUtils.showMessageInformation(MSG_FILTRO_SEM_PERIODO, TITULO_RELATORIO); + return false; + } + + if (validarDtVenda.isPeriodoParcialmenteInformado()) { + MensagensUtils.showMessageInformation(MSG_PERIODO_VENDA_INCOMPLETO, TITULO_RELATORIO); + return false; + } + + if (validarDtEmbarque.isPeriodoParcialmenteInformado()) { + MensagensUtils.showMessageInformation(MSG_PERIODO_EMBARQUE_INCOMPLETO, TITULO_RELATORIO); + return false; + } + + if (!validarDtVenda.isPeriodoInicialNaoInformado() + && validarDtVenda.validarDataInicioMaiorQueTermino(MSG_DATA_INICIAL_VENDA_MAIOR_FINAL, TITULO_RELATORIO)) { + return false; + } + + if (!validarDtEmbarque.isPeriodoNaoInformado()) { + return !validarDtEmbarque.validarDataInicioMaiorQueTermino(MSG_DATA_INICIAL_EMBARQUE_MAIOR_FINAL, TITULO_RELATORIO); + } + + return true; + } + + private boolean isDatasPeriodosNaoInformados(ValidarDatas validarDtVenda, ValidarDatas validarDtEmbarque) { + return validarDtVenda.isPeriodoNaoInformado() && validarDtEmbarque.isPeriodoNaoInformado(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MensagensUtils.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MensagensUtils.java new file mode 100644 index 000000000..c6428aea7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MensagensUtils.java @@ -0,0 +1,21 @@ +package com.rjconsultores.ventaboletos.web.utilerias; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; + +public class MensagensUtils { + + private MensagensUtils() { + } + + public static void showMessageInformation(String labelMensagem, String tituloMenssagem) { + try { + Messagebox.show( + Labels.getLabel(labelMensagem), + Labels.getLabel(tituloMenssagem), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioHistoricoCompras.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioHistoricoCompras.java new file mode 100644 index 000000000..8497fa5c7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioHistoricoCompras.java @@ -0,0 +1,26 @@ +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 ItemMenuRelatorioHistoricoCompras extends DefaultItemMenuSistema { + + public ItemMenuRelatorioHistoricoCompras() { + super("indexController.mniRelatorioHistoricoCompras.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_HISTORICO_COMPRAS; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioHistoricoCompras.zul", + Labels.getLabel("relatorioHistoricoComprasController.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index df343fc68..1124c98b1 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 @@ -139,6 +139,7 @@ analitico.gerenciais.remDev=com.rjconsultores.ventaboletos.web.utilerias.menu.it analitico.gerenciais.tabPreco=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioTabelaPreco analitico.gerenciais.trip=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemRelatorioTripulacao analitico.gerenciais.relatorioImpressaoPosterior=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioImpressaoPosterior +analitico.gerenciais.relatorioHistoricoCompras=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioHistoricoCompras analitico.gerenciais.operacionais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.operacionais.SubMenuRelatorioOperacionais analitico.gerenciais.operacionais.aproveitamento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAproveitamento analitico.gerenciais.operacionais.resumoLinhas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioResumoLinhas diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPersonalizado.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPersonalizado.java new file mode 100644 index 000000000..3ce18713b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPersonalizado.java @@ -0,0 +1,92 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +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.web.utilerias.MyListbox; + +/** + * @author emerson + * + * Este render exibirá as colunas que forem informadas no construtor. + * O nome das colunas deverão ter o mesmo nome do campo da classe. + * + */ +public class RenderPersonalizado implements ListitemRenderer { + + List colunas = new ArrayList(); + Boolean addBotaoExcluir = false; + + public RenderPersonalizado(List colunas) { + this.colunas = colunas; + } + + public RenderPersonalizado comBotaoExcluir(Boolean addBotaoExcluir) { + this.addBotaoExcluir = addBotaoExcluir; + return this; + } + + @Override + public void render(Listitem item, Object objeto) throws Exception { + incluirColunasRender(item, objeto); + + if (addBotaoExcluir) { + Listcell lc = new Listcell(); + lc.setParent(item); + lc.appendChild(criaBotaoExcluir()); + } + + item.setAttribute("data", (T)objeto); + } + + protected void incluirColunasRender(Listitem item, Object objeto) throws IllegalAccessException, InvocationTargetException { + incluirColunasSelecionadas(item, objeto); + } + + private void incluirColunasSelecionadas(Listitem item, Object objeto) throws IllegalAccessException, InvocationTargetException { + Method[] methods = objeto.getClass().getDeclaredMethods(); + for (String coluna : colunas) { + String nomeMetodo = obtemMetodoGet(coluna); + for (Method method : methods) { + if (method.getName().equals(nomeMetodo)) { + Listcell lc = new Listcell(method.invoke((T)objeto).toString()); + lc.setParent(item); + break; + } + } + } + } + + private Button criaBotaoExcluir() { + Button botaoExcluir = new Button(); + botaoExcluir.setWidth("16"); + botaoExcluir.setHeight("16"); + botaoExcluir.setImage("/gui/img/remove.png"); + + botaoExcluir.addEventListener("onClick", new EventListenerExcluirRegistroRender()); + return botaoExcluir; + } + + private String obtemMetodoGet(String coluna) { + return "get".concat(coluna.substring(0, 1).toUpperCase().concat(coluna.substring(1))); + } + + private final class EventListenerExcluirRegistroRender implements EventListener { + @Override + public void onEvent(Event event) throws Exception { + MyListbox listBox = (MyListbox) event.getTarget().getParent().getParent().getParent(); + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + listBox.removeItem(listItem.getAttribute("data")); + } + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index cb52423b6..edc1b80bd 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -305,6 +305,7 @@ indexController.mniRelatorioImpressaoPosterior.label=Impresión posterior indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Corrida bloqueada en venta internet indexController.mniRelatorioDocumentosFiscais.label = Report Documentos Fiscais indexController.mniRelatorioVendasConexao.label = Reporte Ventas Conexion +indexController.mniRelatorioHistoricoCompras.label = Reporte Histórico de Compras indexController.mniRelatorioRemessaCNAB.label = Remessa de Lote (CNAB 400) @@ -816,6 +817,29 @@ relatorioServicoBloqueadoVendaInternetController.lbDatFinal.value = Fecha final relatorioServicoBloqueadoVendaInternetController.lbEmpresa.value = Empresa relatorioServicoBloqueadoVendaInternetController.lbAgencia.value = Agencia +#Relatorio Historico Compras +relatorioHistoricoComprasController.window.title = Reporte Histórico de Compras +relatorioHistoricoComprasController.lblDataVendaIni.value = Data Venda Inicial +relatorioHistoricoComprasController.lblDataVendaFin.value = Data Venda Final +relatorioHistoricoComprasController.lblDataEmbarqueIni.value = Data Embarque Inicial +relatorioHistoricoComprasController.lblDataEmbarqueFin.value = Data Embarque Final +relatorioHistoricoComprasController.lbPuntoVenta.value = Agência +relatorioHistoricoComprasController.lbEmpresa.value = Empresa +relatorioHistoricoComprasController.lbNumero.value = Número Agência +relatorioHistoricoComprasController.lbLinha.label = Linha +relatorioHistoricoComprasController.lbNumRuta.label = Num. Linha +relatorioHistoricoComprasController.lbPrefixo.label = Prefixo +relatorioHistoricoComprasController.lbOrgao.label = Orgão Concedente +relatorioHistoricoComprasController.lbCpf.label = CPF Cliente +relatorioHistoricoComprasController.nomeCliente.value = Cliente +relatorioHistoricoComprasController.MSG.informarDataVenda = Favor informar o período completo de venda. +relatorioHistoricoComprasController.MSG.informarDataEmbarque = Favor informar o período completo de embarque. +relatorioHistoricoComprasController.MSG.informarFiltroData = Favor informar um filtro de data. +relatorioHistoricoComprasController.MSG.dataInicialVendaMaiorFinal = Data inicial da venda maior que final. +relatorioHistoricoComprasController.MSG.dataInicialEmbarqueMaiorFinal = Data inicial do embarque maior que final. +relatorioHistoricoComprasController.btnPesquisa.label = Pesquisar +relatorioHistoricoComprasController.btnLimpar.label = Limpar + #Relatório Documentos Fiscais relatorioDocumentosFiscaisController.window.title = Reporte Documentos Fiscais relatorioDocumentosFiscaisController.lbDatInicial.value = Fecha Inicial diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index d19dba752..11f8bcf76 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -323,6 +323,7 @@ indexController.mniRelatorioImpressaoPosterior.label=Impressão Posterior indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Serviço Bloqueado na Venda Internet indexController.mniRelatorioDocumentosFiscais.label = Relatório Documentos Fiscais indexController.mniRelatorioVendasConexao.label = Relatório Vendas de Conexão +indexController.mniRelatorioHistoricoCompras.label = Relatório Histórico de Compras indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -915,6 +916,29 @@ relatorioServicoBloqueadoVendaInternetController.lbDatFinal.value = Data Final relatorioServicoBloqueadoVendaInternetController.lbEmpresa.value = Empresa relatorioServicoBloqueadoVendaInternetController.lbAgencia.value = Agência +#Relatorio Historico Compras +relatorioHistoricoComprasController.window.title = Relatório Histórico de Compras +relatorioHistoricoComprasController.lblDataVendaIni.value = Data Venda Inicial +relatorioHistoricoComprasController.lblDataVendaFin.value = Data Venda Final +relatorioHistoricoComprasController.lblDataEmbarqueIni.value = Data Embarque Inicial +relatorioHistoricoComprasController.lblDataEmbarqueFin.value = Data Embarque Final +relatorioHistoricoComprasController.lbPuntoVenta.value = Agência +relatorioHistoricoComprasController.lbEmpresa.value = Empresa +relatorioHistoricoComprasController.lbNumero.value = Número Agência +relatorioHistoricoComprasController.lbLinha.label = Linha +relatorioHistoricoComprasController.lbNumRuta.label = Num. Linha +relatorioHistoricoComprasController.lbPrefixo.label = Prefixo +relatorioHistoricoComprasController.lbOrgao.label = Orgão Concedente +relatorioHistoricoComprasController.lbCpf.label = CPF Cliente +relatorioHistoricoComprasController.nomeCliente.value = Cliente +relatorioHistoricoComprasController.MSG.informarDataVenda = Favor informar o período completo de venda. +relatorioHistoricoComprasController.MSG.informarDataEmbarque = Favor informar o período completo de embarque. +relatorioHistoricoComprasController.MSG.informarFiltroData = Favor informar um filtro de data. +relatorioHistoricoComprasController.MSG.dataInicialVendaMaiorFinal = Data inicial da venda maior que final. +relatorioHistoricoComprasController.MSG.dataInicialEmbarqueMaiorFinal = Data inicial do embarque maior que final. +relatorioHistoricoComprasController.btnPesquisa.label = Pesquisar +relatorioHistoricoComprasController.btnLimpar.label = Limpar + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar diff --git a/web/gui/relatorios/filtroRelatorioHistoricoCompras.zul b/web/gui/relatorios/filtroRelatorioHistoricoCompras.zul new file mode 100644 index 000000000..2a0827ac4 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioHistoricoCompras.zul @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + +