From 85791b86b02b155e0e9f248a15fab632f147628f Mon Sep 17 00:00:00 2001 From: edgar Date: Fri, 8 Jul 2016 13:04:40 +0000 Subject: [PATCH] fixes bug #7663 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@57748 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioTripulacao.java | 60 ++++++---- .../RelatorioTripulacao_es.properties | 7 +- .../RelatorioTripulacao_pt.properties | 7 +- .../templates/RelatorioTripulacao.jasper | Bin 37525 -> 36164 bytes .../templates/RelatorioTripulacao.jrxml | 104 +++++++----------- .../utilitarios/RelatorioTripulacaoBean.java | 8 ++ .../seguridad/EditarUsuarioController.java | 6 +- web/WEB-INF/i3-label_es_MX.label | 4 + web/WEB-INF/i3-label_pt_BR.label | 4 + 9 files changed, 110 insertions(+), 90 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTripulacao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTripulacao.java index 4d0e3e9a9..71cf35507 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTripulacao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTripulacao.java @@ -6,12 +6,11 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.util.ArrayList; -import java.util.Calendar; import java.util.Collection; import java.util.List; import java.util.Map; -import org.apache.commons.lang.time.DateUtils; +import org.zkoss.util.resource.Labels; import com.rjconsultores.ventaboletos.entidad.Empleado; import com.rjconsultores.ventaboletos.entidad.Empresa; @@ -52,6 +51,8 @@ public class RelatorioTripulacao extends Relatorio { } private List executeStatement(Short tipoTripulacao) throws SQLException, ParseException { + String tipoEmpleadoTramo; + Map parametros = this.getParametros(); Empresa empresa = (Empresa) parametros.get("empresa"); Empleado empleado = (Empleado) parametros.get("empleado"); @@ -65,15 +66,19 @@ public class RelatorioTripulacao extends Relatorio { switch (tipoTripulacao) { case CONDUCTOR1: sql.append(getSqlConductor1()); + tipoEmpleadoTramo = Labels.getLabel("relatorioTripulacao.conductor1"); break; case CONDUCTOR2: sql.append(getSqlConductor2()); + tipoEmpleadoTramo = Labels.getLabel("relatorioTripulacao.conductor2"); break; case GUARDIA1: sql.append(getSqlGuardian1()); + tipoEmpleadoTramo = Labels.getLabel("relatorioTripulacao.guardia1"); break; default: sql.append(getSqlGuardian2()); + tipoEmpleadoTramo = Labels.getLabel("relatorioTripulacao.guardia2"); break; } @@ -89,28 +94,44 @@ public class RelatorioTripulacao extends Relatorio { System.out.println(sql.toString()); - return getDataFromResultSet(stmt.executeQuery()); + return getDataFromResultSet(stmt.executeQuery(), tipoEmpleadoTramo); } - private List getDataFromResultSet(ResultSet result) throws SQLException { + private List getDataFromResultSet(ResultSet result, String tipoEmpleadoTramo) throws SQLException { List lsDadosRelatorio = new ArrayList(); - RelatorioTripulacaoBean relatorioTripulacaoBean; + RelatorioTripulacaoBean relatorioTripulacaoBean = null; + RelatorioTripulacaoBean relatorioTripulacaoBeanAnterior = null; while (result.next()) { - relatorioTripulacaoBean = new RelatorioTripulacaoBean(); - relatorioTripulacaoBean.setIdEmpleado(result.getLong("empleadoId")); - relatorioTripulacaoBean.setNomeEmpleado(result.getString("nomeEmpleado")); - relatorioTripulacaoBean.setTipoEmpleado(result.getString("tipoEmpleado")); - relatorioTripulacaoBean.setCorridaId(result.getLong("corridaId")); - relatorioTripulacaoBean.setFecha(result.getDate("fecha")); - relatorioTripulacaoBean.setNomeOrigem(result.getString("nomeOrigem")); - relatorioTripulacaoBean.setNomeDestino(result.getString("nomeDestino")); - relatorioTripulacaoBean.setDistanciaKm(result.getDouble("distanciaKm")); - relatorioTripulacaoBean.setNumSequencia(result.getLong("numSequencia")); - relatorioTripulacaoBean.setIdCorridaTramo(result.getLong("idCorridaTramo")); - relatorioTripulacaoBean.setHora(result.getString("hora")); - lsDadosRelatorio.add(relatorioTripulacaoBean); + + if (relatorioTripulacaoBeanAnterior != null + && relatorioTripulacaoBeanAnterior.getIdEmpleado().equals(result.getLong("empleadoId")) + && relatorioTripulacaoBeanAnterior.getCorridaId().equals(result.getLong("corridaId"))) { + Double distancia = relatorioTripulacaoBean.getDistanciaKm(); + distancia += result.getDouble("distanciaKm"); + relatorioTripulacaoBean.setDistanciaKm(distancia); + relatorioTripulacaoBean.setNomeDestino(result.getString("nomeDestino")); + + } else { + relatorioTripulacaoBean = new RelatorioTripulacaoBean(); + relatorioTripulacaoBean.setTipoEmpleadoTramo(tipoEmpleadoTramo); + relatorioTripulacaoBean.setIdEmpleado(result.getLong("empleadoId")); + relatorioTripulacaoBean.setCorridaId(result.getLong("corridaId")); + relatorioTripulacaoBean.setNomeEmpleado(result.getString("nomeEmpleado")); + relatorioTripulacaoBean.setTipoEmpleado(result.getString("tipoEmpleado")); + relatorioTripulacaoBean.setFecha(result.getDate("fecha")); + relatorioTripulacaoBean.setNomeOrigem(result.getString("nomeOrigem")); + relatorioTripulacaoBean.setNomeDestino(result.getString("nomeDestino")); + relatorioTripulacaoBean.setDistanciaKm(result.getDouble("distanciaKm")); + relatorioTripulacaoBean.setNumSequencia(result.getLong("numSequencia")); + relatorioTripulacaoBean.setIdCorridaTramo(result.getLong("idCorridaTramo")); + relatorioTripulacaoBean.setHora(result.getString("hora")); + + relatorioTripulacaoBeanAnterior = relatorioTripulacaoBean; + lsDadosRelatorio.add(relatorioTripulacaoBean); + } } return lsDadosRelatorio; + } private void setDadosRelatorio(Collection collection) { @@ -143,7 +164,7 @@ public class RelatorioTripulacao extends Relatorio { + " AND (:tipoEmpleado IS NULL OR tipo.DESCTIPO = :tipoEmpleado)" + " AND(:empleadoId =0 or emp.EMPLEADO_ID=:empleadoId)" + " AND (:empresaId =0 OR (emp.EMPLEADO_ID IS NULL OR emp.EMPRESA_ID =:empresaId))" - + " ORDER BY NOMBEMPLEADO, corridaId, hora "; + + " ORDER BY NOMBEMPLEADO, corridaId, corridaTramo.FECCORRIDA, hora "; } private String getSqlGuardian1() { @@ -187,4 +208,5 @@ public class RelatorioTripulacao extends Relatorio { + " INNER JOIN EMPLEADO emp ON emp.EMPLEADO_ID = cond.EMPLEADO_ID" + " INNER JOIN TIPO_EMPLEADO tipo ON tipo.TIPOEMPLEADO_ID = emp.TIPOEMPLEADO_ID "; } + } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_es.properties index 8eaef076d..8f3fb2f3a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_es.properties @@ -1,13 +1,14 @@ #geral label.noData=No se pudo obtener datos con los parâmetros reportados. +label.tipoEmpleadoTramo=Functi\u00F3n Ejercido msg.a=a #Labels header header.pagina=Página\: header.data.hora=Data/Hora\: -label.empleadoId=Empleado -label.empleadoNome=Nombre -label.tipoEmpregado=Tipo +label.empleadoId=Empleado\: +label.empleadoNome=Nombre\: +label.tipoEmpregado=Tipo\: #Labels detail detail.fecha=Fecha diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_pt.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_pt.properties index 433585c12..c67a1680f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_pt.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTripulacao_pt.properties @@ -1,13 +1,14 @@ #geral label.noData=Não há dados a serem apresentados para os filtros selecionados. +label.tipoEmpleadoTramo=Fun\u00E7\u00E3o Exercida msg.a=a #Labels header header.pagina=Página\: header.data.hora=Data/Hora\: -label.empleadoId=Empregado -label.empleadoNome=Nome -label.tipoEmpregado=Tipo +label.empleadoId=Empregado\: +label.empleadoNome=Nome\: +label.tipoEmpregado=Tipo\: #Labels detail detail.fecha=Data diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jasper index e9b64e76cd342f4e0be3e32dc10b1a9b60317af3..cdeb590186295ed48613c9323f561128c324ef6e 100644 GIT binary patch literal 36164 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 literal 37525 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 - + @@ -20,58 +20,73 @@ + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -79,37 +94,37 @@ - + - + - + - + - + - + - + - + @@ -118,29 +133,12 @@ - - - - - - - - - - - - - - - - - - <band height="36" splitType="Stretch"> + <band height="40" splitType="Stretch"> <textField> <reportElement uuid="f6832783-9c29-4cad-9f22-9720cfacf1b6" x="400" y="0" width="56" height="20"/> <textElement/> @@ -223,50 +221,31 @@ </textField> </band> - - - - - - - - - - - - - - - - - - - - + - + - + - + - + @@ -280,19 +259,20 @@ - + + - + - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioTripulacaoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioTripulacaoBean.java index 030924204..2fdd37032 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioTripulacaoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioTripulacaoBean.java @@ -14,6 +14,7 @@ public class RelatorioTripulacaoBean { private Double distanciaKm; private Long numSequencia; private Long idCorridaTramo; + private String tipoEmpleadoTramo; public Long getIdEmpleado() { return idEmpleado; @@ -83,5 +84,12 @@ public class RelatorioTripulacaoBean { } public void setIdCorridaTramo(Long idCorridaTramo) { this.idCorridaTramo = idCorridaTramo; + } + public String getTipoEmpleadoTramo() { + return tipoEmpleadoTramo; + } + public void setTipoEmpleadoTramo(String tipoEmpleadoTramo) { + this.tipoEmpleadoTramo = tipoEmpleadoTramo; } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java index 8fc134141..247efdae5 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java @@ -524,10 +524,10 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } public void onChange$cmbParada() { - Comboitem cbiParada = cmbParada.getSelectedItem(); + Comboitem paradaComboItem = cmbParada.getSelectedItem(); - if (cbiParada != null) { - lsPuntoVenta = puntoVentaService.buscaPuntoVentaParada((Parada) cmbParada.getSelectedItem().getValue()); + if (paradaComboItem != null) { + lsPuntoVenta = puntoVentaService.buscaPuntoVentaParada((Parada)paradaComboItem.getValue()); cmbPuntoVenta.setModel(new ListModelList(lsPuntoVenta)); if (lsPuntoVenta.isEmpty()) { cmbPuntoVenta.setText((String) null); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index df4787661..96f43d7d2 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -590,6 +590,10 @@ relatorioTripulacaoController.radioCondutor=Conductor relatorioTripulacaoController.radioGuarda=Guardia relatorioTripulacaoController.radioTodos=Todos relatorioTripulacaoController.lbTipoTripulacao=Función +relatorioTripulacao.conductor1=Conductor1 +relatorioTripulacao.conductor2=Conductor2 +relatorioTripulacao.guardia1=Guarda1 +relatorioTripulacao.guardia2=Guarda2 # Pantalla Editar clase editarClaseServicioController.window.title = Clase de servicio diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index c293cbe72..12e45f0c4 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -470,6 +470,10 @@ relatorioTripulacaoController.radioCondutor=Condutor relatorioTripulacaoController.radioGuarda=Guarda relatorioTripulacaoController.radioTodos=Todos relatorioTripulacaoController.lbTipoTripulacao=Função +relatorioTripulacao.conductor1=Condutor1 +relatorioTripulacao.conductor2=Condutor2 +relatorioTripulacao.guardia1=Guarda1 +relatorioTripulacao.guardia2=Guarda2 #Receita Diária por Agência relatorioReceitaDiariaAgenciaController.window.title = Relatório de Receita Diária por Agência