From 528a9a91569d7f26b8fc23b58353cfed93821fe6 Mon Sep 17 00:00:00 2001 From: "valdir.cordeiro" Date: Fri, 17 Nov 2023 11:12:58 -0300 Subject: [PATCH] =?UTF-8?q?bug#al-3485=20Continua=C3=A7=C3=A3o=2066363=20-?= =?UTF-8?q?=20Ajustes=20na=20Tela=20de=20Configura=C3=A7=C3=A3o=20de=20Ser?= =?UTF-8?q?vi=C3=A7o=20na=20ADM=20dev:=20qua:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- .../BusquedaCorridaController.java | 24 +++- .../render/RenderConfiguracionCorrida.java | 113 +++++++++++++++++- web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 1 + .../esquema_operacional/busquedaCorrida.zul | 3 + 6 files changed, 137 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 15a876b47..ea6ab28d5 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,11 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.31.1 + 1.32.0 war - 1.22.1 + 1.23.0 1.19.0 UTF-8 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaCorridaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaCorridaController.java index 1a6c78b59..4fd7b6df6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaCorridaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaCorridaController.java @@ -43,6 +43,7 @@ import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.HeaderEsquemaCorridaService; import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.service.TramoServicioService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; @@ -103,9 +104,12 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { private Listheader listHeader13; private Listheader listHeader14; private Listheader listHeader15; - + private Listheader listHeader16; @Autowired private HeaderEsquemaCorridaService headerService; + + @Autowired + private TramoServicioService tramoServicioService; public Listheader getListHeader1() { return listHeader1; @@ -227,6 +231,14 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { this.listHeader15 = listHeader15; } + public Listheader getListHeader16() { + return listHeader16; + } + + public void setListHeader16(Listheader listHeader16) { + this.listHeader16 = listHeader16; + } + public Combobox getCmbClase() { return cmbClase; } @@ -392,14 +404,14 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { refreshLista(); } - Integer posicoesColunasTabela[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; + Integer posicoesColunasTabela[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; List labelsList = new ArrayList<>(); private void criarListaDinamica() { //Busca do banco as posicoes salvas posicoesColunasTabela = headerService.buscarHeader(); - esquemaCorridaList.setItemRenderer(new RenderConfiguracionCorrida(posicoesColunasTabela)); + esquemaCorridaList.setItemRenderer(new RenderConfiguracionCorrida(posicoesColunasTabela, tramoServicioService)); esquemaCorridaList.addEventListener("onDoubleClick", new EventListener() { @@ -425,6 +437,7 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { iniciarListHeader(listHeader13); iniciarListHeader(listHeader14); iniciarListHeader(listHeader15); + iniciarListHeader(listHeader16); criarListaDeLabels(); atualizaLabelsTabela(); @@ -447,6 +460,7 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { labelsList.add(listHeader13.getLabel()); labelsList.add(listHeader14.getLabel()); labelsList.add(listHeader15.getLabel()); + labelsList.add(listHeader16.getLabel()); } private void atualizaLabelsTabela() { @@ -484,6 +498,8 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { listHeader14.setLabel(labelsList.get(posicao)); } else if ( i == 15) { listHeader15.setLabel(labelsList.get(posicao)); + } else if ( i == 16) { + listHeader16.setLabel(labelsList.get(posicao)); } i++; @@ -512,7 +528,7 @@ public class BusquedaCorridaController extends MyGenericForwardComposer { headerService.salvarPosicoesHeader(posicoesColunasTabela); - esquemaCorridaList.setItemRenderer(new RenderConfiguracionCorrida(posicoesColunasTabela)); + esquemaCorridaList.setItemRenderer(new RenderConfiguracionCorrida(posicoesColunasTabela, tramoServicioService)); esquemaCorridaList.renderAll(); atualizaLabelsTabela(); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorrida.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorrida.java index 10c5fb6f8..bf598507c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorrida.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorrida.java @@ -4,15 +4,28 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; - import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; import org.zkoss.util.resource.Labels; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaTramo; +import com.rjconsultores.ventaboletos.entidad.ParadaEsquema; +import com.rjconsultores.ventaboletos.entidad.Tramo; +import com.rjconsultores.ventaboletos.entidad.TramoServicio; +import com.rjconsultores.ventaboletos.service.TramoServicioService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.StringHelper; + /** * * @author Rafius @@ -22,9 +35,12 @@ public class RenderConfiguracionCorrida implements ListitemRenderer { private Integer[] posicoes = null; private SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yy"); - public RenderConfiguracionCorrida(Integer[] posicoes) { + private TramoServicioService tramoServicioService; + + public RenderConfiguracionCorrida(Integer[] posicoes, TramoServicioService tramoServicioService) { super(); this.posicoes = posicoes; + this.tramoServicioService = tramoServicioService; } public RenderConfiguracionCorrida() { @@ -253,6 +269,91 @@ public class RenderConfiguracionCorrida implements ListitemRenderer { lc = new Listcell("CANCELADA"); } break; + + case 16: + // hora de chegada + Date horaSaida = corrida.getHorasalida(); + + if(horaSaida == null) { + lc = new Listcell(""); + } else { + List lsEsquemaTramo = corrida.getEsquemaTramoList(); + + //Colocar em ordem de sequencia + Collections.sort(lsEsquemaTramo); + ClaseServicio clase = corrida.getClaseServicio(); + + Calendar c = Calendar.getInstance(); + c.setTime(horaSaida); + + long minutosPartida = c.get(Calendar.MINUTE); + int horaPartida = c.get(Calendar.HOUR_OF_DAY); + + Long tempoLocalidade = 0l; + for (int i = 0; i < lsEsquemaTramo.size(); i++) { + EsquemaTramo rs = lsEsquemaTramo.get(i); + + if(!rs.getActivo()) { + continue; + } + + Tramo tramo = rs.getTramo(); + Date tiempoEstancia = null; + if ((i != 0) && (i != (lsEsquemaTramo.size()))) { + tiempoEstancia = lsEsquemaTramo.get(i).getTiempoEstancia(); + } + + Date excepcionRecorrido = null; + if (i != (lsEsquemaTramo.size())) { + excepcionRecorrido = lsEsquemaTramo.get(i).getExcepcionRecorrido(); + } + + Date defautRecorrido = null; + if (clase != null) { + List lsTramoServicio = tramoServicioService.buscarPorTramoServico(tramo, clase); + + if (i != (lsEsquemaTramo.size())) { + if (!lsTramoServicio.isEmpty()) { + // soh eh permitido gravar um por classe, get(0): + defautRecorrido = lsTramoServicio.get(0).getTiemporecorrido(); + } + } + } + + Long tempoPadrao = 0l; + Long tempoParada = 0l; + + if (excepcionRecorrido != null) { + tempoPadrao = getMinutos(excepcionRecorrido); + } else { + if (defautRecorrido != null) { + tempoPadrao = getMinutos(defautRecorrido); + } + } + if (tiempoEstancia != null) { + tempoParada = getMinutos(tiempoEstancia); + } + tempoLocalidade += (tempoPadrao + tempoParada); + } + + int horasLocalidade = (tempoLocalidade.intValue() / 60) + horaPartida; + long minutosLocalidade = (tempoLocalidade % 60) + minutosPartida; + + while(minutosLocalidade >= 60){ + horasLocalidade +=1; + minutosLocalidade -= 60; + } + while(horasLocalidade >= 24){ + horasLocalidade -= 24; + } + if(horasLocalidade == 0 && minutosLocalidade == 0l){ + lc = new Listcell(""); + }else{ + String sMinutos = String.valueOf(minutosLocalidade); + lc = new Listcell(horasLocalidade + ":" + StringHelper.preencherZeroEsquerda(sMinutos, 2)); + } + } + break; default: break; @@ -260,4 +361,10 @@ public class RenderConfiguracionCorrida implements ListitemRenderer { return lc; } + + private Long getMinutos(Date data){ + Calendar c = Calendar.getInstance(); + c.setTime(data); + return DateUtil.getElapsedMinutos(DateUtil.getFecInicio().getTime(), c.getTime()); + } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 705e06df4..dd1bf0a05 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -3110,6 +3110,7 @@ busquedaConfiguracionCorridaController.lhId.label = ID busquedaConfiguracionCorridaController.lbNumCorrida.label = Numero de servicio busquedaConfiguracionCorridaController.lhDesc.label = Servicio busquedaConfiguracionCorridaController.lhHora.label = Horário +busquedaConfiguracionCorridaController.lhHoraChegada.label= H. Llegada busquedaConfiguracionCorridaController.lhRuta.label = Linea busquedaConfiguracionCorridaController.numRuta.label = Numero da Linha busquedaConfiguracionCorridaController.sentidoRuta.label = Sentido da Linha diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 03b1424ef..a38bd3393 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3421,6 +3421,7 @@ busquedaConfiguracionCorridaController.lhId.label = ID busquedaConfiguracionCorridaController.lbNumCorrida.label = Número de Serviço busquedaConfiguracionCorridaController.lhDesc.label = Serviço busquedaConfiguracionCorridaController.lhHora.label = Horário +busquedaConfiguracionCorridaController.lhHoraChegada.label= H. Chegada busquedaConfiguracionCorridaController.lhRuta.label = Linha busquedaConfiguracionCorridaController.numRuta.label = Número da Linha busquedaConfiguracionCorridaController.sentidoRuta.label = Sentido da Linha diff --git a/web/gui/esquema_operacional/busquedaCorrida.zul b/web/gui/esquema_operacional/busquedaCorrida.zul index 8ffa0b8da..913ee4f9d 100644 --- a/web/gui/esquema_operacional/busquedaCorrida.zul +++ b/web/gui/esquema_operacional/busquedaCorrida.zul @@ -170,6 +170,9 @@ +