diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java index 4d7c33ff7..56e518c8c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java @@ -42,7 +42,6 @@ import org.zkoss.zul.Timebox; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Division; import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; import com.rjconsultores.ventaboletos.entidad.EsquemaOperacional; import com.rjconsultores.ventaboletos.entidad.EsquemaTramo; @@ -53,10 +52,10 @@ import com.rjconsultores.ventaboletos.entidad.RolOperativo; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.entidad.Tramo; +import com.rjconsultores.ventaboletos.entidad.TramoServicio; import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.DivisionService; import com.rjconsultores.ventaboletos.service.EmpresaService; -import com.rjconsultores.ventaboletos.service.EsquemaAsientoService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaTramoService; import com.rjconsultores.ventaboletos.service.MarcaClaseServicioService; @@ -65,7 +64,7 @@ import com.rjconsultores.ventaboletos.service.RolOperativoService; import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.service.RutaSecuenciaService; import com.rjconsultores.ventaboletos.service.RutaService; -import com.rjconsultores.ventaboletos.service.UsuarioEmpresaService; +import com.rjconsultores.ventaboletos.service.TramoServicioService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -86,16 +85,12 @@ public class EditarCorridaController extends MyGenericForwardComposer { @Autowired private EsquemaCorridaService esquemaCorridaService; @Autowired - private EsquemaAsientoService esquemaAsientoService; - @Autowired private EsquemaTramoService esquemaTramoService; @Autowired private MarcaService marcaService; @Autowired private ClaseServicioService claseService; @Autowired - private UsuarioEmpresaService usuarioEmpresaService; - @Autowired private RutaService rutaService; @Autowired private RutaCombinacionService rutaCombinacionService; @@ -109,6 +104,8 @@ public class EditarCorridaController extends MyGenericForwardComposer { private RolOperativoService rolOperativoService; @Autowired private BusquedaCorridaController busquedaCorridaController; + @Autowired + private TramoServicioService tramoServicioService; private DivisionService divisionService; private List lsDivision; private List lsEmpresa; @@ -362,17 +359,25 @@ public class EditarCorridaController extends MyGenericForwardComposer { } } - private void addTramoPardaEsquema(Parada parada, Short numsecuencia, Date tiempoEstancia, String plataforma) { + private void addTramoPardaEsquema(Parada parada, Short numsecuencia, Date tiempoEstancia, String plataforma, Date excepcionRecorrido, Date defautRecorrido) { ParadaEsquema ps = new ParadaEsquema(); ps.setParada(parada); ps.setNumsecuencia(numsecuencia); ps.setTiempoEstancia(tiempoEstancia); ps.setPlataforma(plataforma); + ps.setExcepcionRecorrido(excepcionRecorrido); + ps.setPadraoRecorrido(defautRecorrido); lsParadaEsquema.add(ps); } private void carregarParadaSecuencia(List lsEsquemaTramo) { + // Comboitem cbiClase = cmbClase.getSelectedItem(); + ClaseServicio clase = esquemaCorrida.getClaseServicio(); + // if (cbiClase != null) { + // clase = (ClaseServicio) cbiClase.getValue(); + // } + lsParadaEsquema.clear(); if (!lsEsquemaTramo.isEmpty()) { List lsEsquemaTramoTodos = new ArrayList(); @@ -388,16 +393,32 @@ public class EditarCorridaController extends MyGenericForwardComposer { Tramo tramo = rs.getTramo(); numsecuencia = rs.getNumsecuencia(); 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(); + } + } + } + Parada paradaOrigem = tramo.getOrigem(); // So adicionar a parada se o EsquemaTramo estiver ativo. if (rs.getActivo()) { String plataforma = rs.getPlataforma(); - addTramoPardaEsquema(paradaOrigem, numsecuencia, tiempoEstancia, plataforma); + addTramoPardaEsquema(paradaOrigem, numsecuencia, tiempoEstancia, plataforma, excepcionRecorrido, defautRecorrido); } } @@ -407,7 +428,7 @@ public class EditarCorridaController extends MyGenericForwardComposer { Integer num = numsecuencia.intValue() + 1; // String plataforma = esquemaTramoFinal.getPlataforma(); - addTramoPardaEsquema(paradaDestino, num.shortValue(), null, null); + addTramoPardaEsquema(paradaDestino, num.shortValue(), null, null, null, null); } esquemaTramoList.setData(lsParadaEsquema); @@ -1126,14 +1147,14 @@ public class EditarCorridaController extends MyGenericForwardComposer { } public void onClick$btnAsientos(Event ev) throws InterruptedException { - Map args = new HashMap(); + Map args = new HashMap(); args.put("esquemaCorrida", esquemaCorrida); if (esquemaCorrida.getEsquemacorridaId() == null) { Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.gravarServico"), Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/TiempoEstanciaEsquemaTramoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/TiempoEstanciaEsquemaTramoController.java index a23619642..66be49c2b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/TiempoEstanciaEsquemaTramoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/TiempoEstanciaEsquemaTramoController.java @@ -37,8 +37,11 @@ public class TiempoEstanciaEsquemaTramoController extends MyGenericForwardCompos private Label lbTramo; private Spinner spHora; private Spinner spMinuto; + private Spinner spHoraExcepcion; + private Spinner spMinutoExcepcion; private Textbox txtPlataforma; - //private Boolean primeraSequencia; + + // private Boolean primeraSequencia; public Label getLbTramo() { return lbTramo; @@ -84,21 +87,17 @@ public class TiempoEstanciaEsquemaTramoController extends MyGenericForwardCompos public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); - - esquemaTramo = (EsquemaTramo) Executions.getCurrent().getArg().get("esquemaTramo"); paradaEsquema = (ParadaEsquema) Executions.getCurrent().getArg().get("paradaEsquema"); esquemaTramoList = (MyListbox) Executions.getCurrent().getArg().get("esquemaTramoList"); sequenciaSize = (Short) Executions.getCurrent().getArg().get("sequenciaSize"); - if (paradaEsquema.getNumsecuencia().equals(Short.valueOf("1"))) { spHora.setDisabled(true); spMinuto.setDisabled(true); txtPlataforma.setDisabled(false); - } - if (paradaEsquema.getNumsecuencia().equals(sequenciaSize)){ + if (paradaEsquema.getNumsecuencia().equals(sequenciaSize)) { spHora.setDisabled(true); spMinuto.setDisabled(true); txtPlataforma.setDisabled(true); @@ -108,8 +107,6 @@ public class TiempoEstanciaEsquemaTramoController extends MyGenericForwardCompos String tramo = esquemaTramo.getTramo().getDesctramo(); lbTramo.setValue(parada); - - if (esquemaTramo.getTiempoEstancia() != null) { Calendar c = Calendar.getInstance(); c.setTime(esquemaTramo.getTiempoEstancia()); @@ -121,6 +118,18 @@ public class TiempoEstanciaEsquemaTramoController extends MyGenericForwardCompos spMinuto.setValue(minutos.intValue()); spHora.setValue(horas); } + + if (esquemaTramo.getExcepcionRecorrido() != null) { + Calendar c = Calendar.getInstance(); + c.setTime(esquemaTramo.getExcepcionRecorrido()); + + Long tempo = DateUtil.getElapsedMinutos(DateUtil.getFecInicio().getTime(), c.getTime()); + Long minutos = (tempo % 60); + int horas = (tempo.intValue() / 60); + + spMinutoExcepcion.setValue(minutos.intValue()); + spHoraExcepcion.setValue(horas); + } } public void onClick$btnCerrar(Event ev) { @@ -129,13 +138,14 @@ public class TiempoEstanciaEsquemaTramoController extends MyGenericForwardCompos public void onClick$btnSalvar(Event ev) { if (!paradaEsquema.getNumsecuencia().equals(Short.valueOf("1"))) { - - esquemaTramo.setTiempoEstancia(DateUtil.getFecInicio(spHora.getValue(), spMinuto.getValue()).getTime()); paradaEsquema.setTiempoEstancia(DateUtil.getFecInicio(spHora.getValue(), spMinuto.getValue()).getTime()); } - if (!paradaEsquema.getNumsecuencia().equals(sequenciaSize)){ + esquemaTramo.setExcepcionRecorrido(DateUtil.getFecInicio(spHoraExcepcion.getValue(), spMinutoExcepcion.getValue()).getTime()); + paradaEsquema.setExcepcionRecorrido(DateUtil.getFecInicio(spHoraExcepcion.getValue(), spMinutoExcepcion.getValue()).getTime()); + + if (!paradaEsquema.getNumsecuencia().equals(sequenciaSize)) { String plataforma = txtPlataforma.getValue(); esquemaTramo.setPlataforma(plataforma); paradaEsquema.setPlataforma(plataforma); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorridaTramo.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorridaTramo.java index 4e8720249..704557aea 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorridaTramo.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConfiguracionCorridaTramo.java @@ -40,6 +40,34 @@ public class RenderConfiguracionCorridaTramo implements ListitemRenderer { } lc.setParent(lstm); + if (pe.getPadraoRecorrido() == null) { + lc = new Listcell(""); + } else { + Calendar c = Calendar.getInstance(); + c.setTime(pe.getPadraoRecorrido()); + Long tempo = DateUtil.getElapsedMinutos(DateUtil.getFecInicio().getTime(), c.getTime()); + long minutos = (tempo % 60); + int horas = (tempo.intValue() / 60); + + String sMinutos = String.valueOf(minutos); + lc = new Listcell(horas + ":" + ((sMinutos.length() < 2) ? "0" + sMinutos : sMinutos)); + } + lc.setParent(lstm); + + if (pe.getExcepcionRecorrido() == null) { + lc = new Listcell(""); + } else { + Calendar c = Calendar.getInstance(); + c.setTime(pe.getExcepcionRecorrido()); + Long tempo = DateUtil.getElapsedMinutos(DateUtil.getFecInicio().getTime(), c.getTime()); + long minutos = (tempo % 60); + int horas = (tempo.intValue() / 60); + + String sMinutos = String.valueOf(minutos); + lc = new Listcell(horas + ":" + ((sMinutos.length() < 2) ? "0" + sMinutos : sMinutos)); + } + lc.setParent(lstm); + lc = new Listcell(pe.getPlataforma()); lc.setParent(lstm); diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 09f2d5028..2713ecdd4 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1038,6 +1038,8 @@ busquedaCatalogoDeRutaController.lbClase.value = Tipo de Classe busquedaCatalogoDeRutaController.msg.validactionRemocionParada=Não é possível quitar a localidade "{0}" da linha pues já existe(n) serviço(s) que a ocupa. Quite a localidade "{0}" de as seguintes serviços : ({1}) para depois quitar na linha. # Pantalla Editar Linha +editarCatalogoDeRutaController.excepcionRecorrido = Exceção de tempo +editarCatalogoDeRutaController.padraoRecorrido = Tempo Padrão editarCatalogoDeRutaController.msg.validacionCambionEnCombinaciones = Ao incluir ou remover uma localidade as combinações serão refeitas. É necessário revisar as combinações em caso de que exista alguna configuração específica para uma(s) de dela(s). Confirmar alteração? editarCatalogoDeRutaController.msg.cambioSecuencia = Não é possível alterar a origem Inicial ou destino Final para uma linha já existente editarCatalogoDeRutaController.msg.validacion.paradas = Deve informar as secuencias da linha diff --git a/web/gui/esquema_operacional/editarCorrida.zul b/web/gui/esquema_operacional/editarCorrida.zul index 03bb29c39..577cb120f 100644 --- a/web/gui/esquema_operacional/editarCorrida.zul +++ b/web/gui/esquema_operacional/editarCorrida.zul @@ -5,9 +5,8 @@ - @@ -39,7 +38,8 @@ + label="${c:l('editarConfiguracionCorridaController.tabCorridaRebote.value')}" + visible="false" /> @@ -128,7 +128,8 @@ - @@ -385,16 +386,22 @@ multiple="false" checkmark="true" tooltiptext=""> - + + @@ -413,7 +420,8 @@ value="${c:l('editarConfiguracionCorridaController.lblNumEsquemaRebote.value')}" /> - +