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 @@
+