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 e9b64e76c..cdeb59018 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jrxml index 41154bb6d..21878531c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTripulacao.jrxml @@ -1,6 +1,6 @@ - + @@ -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