From d5ddc078a7b077c5a1a3ebf0e5d912e699ccb50b Mon Sep 17 00:00:00 2001 From: valdevir Date: Fri, 23 Feb 2024 14:42:11 -0300 Subject: [PATCH] fices bug #AL-3494 --- pom.xml | 4 +- .../EditarCorridaController.java | 338 +++++++++--------- 2 files changed, 174 insertions(+), 168 deletions(-) diff --git a/pom.xml b/pom.xml index 08281545d..73d93ba1e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,11 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.53.0 + 1.53.1 war - 1.40.0 + 1.40.1 1.30.0 UTF-8 UTF-8 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 d5d291c3a..e6c985326 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 @@ -52,6 +52,7 @@ import com.rjconsultores.ventaboletos.entidad.Autobus; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Corrida; +import com.rjconsultores.ventaboletos.entidad.CorridaTramo; import com.rjconsultores.ventaboletos.entidad.Division; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento; @@ -97,7 +98,6 @@ import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; import com.rjconsultores.ventaboletos.utilerias.CustomEnum; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.ItemEditarCorridaTramo; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarefaGeracaoCorridaVO; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; @@ -273,11 +273,13 @@ public class EditarCorridaController extends MyGenericForwardComposer { private List lsRuta; private List lsRutaSecuencia; private List lsEsquemaTramo; + private List lsEsquemaTramoOriginal; private List lsAutoBus; private List lsRolOperativo; private List lsTramosRutaEsquemaCorrida; private List lsTramos; private List lsParadaEsquema; + private List lsParadaEsquemaOrignal; private List lsRutaEmbarqueDesembarque = new ArrayList(); private List lsEsquemaCorridaEmbarqueDesembarqueSelected = new ArrayList(); private List lsEsquemaCorridaEmbarqueDesembarqueBorrar = new ArrayList(); @@ -295,7 +297,7 @@ public class EditarCorridaController extends MyGenericForwardComposer { private EsquemaCorrida esquemaCorrida; private Date dataInicialFiltroCorridaExistente; private Date dataFinalFiltroCorridaExistente; - private List itemEditarCorridaTramoList; + private Button btnCancelarRetomar; @@ -307,7 +309,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { salvar = true; cmbRuta.setItemRenderer(new MyComboRutaRenderer()); popularCombobox(cmbIndGeneraFeriado); - itemEditarCorridaTramoList = new ArrayList(); esquemaCorridaEmbarqueDesembarqueListbox.setItemRenderer(new RenderEsquemaCorridaEmbarqueDesembarque()); lstTrechosInformacaoCorridaListbox.setItemRenderer(new RenderCorridaInfomacaoTramo()); @@ -479,7 +480,17 @@ public class EditarCorridaController extends MyGenericForwardComposer { } lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida); + lsEsquemaTramoOriginal = new ArrayList(); + for (EsquemaTramo esquemaTramo : lsEsquemaTramoOriginal) { + lsEsquemaTramoOriginal.add(esquemaTramo.clone()); + } + //lsEsquemaTramoOriginal.addAll(lsEsquemaTramo); carregarParadaSecuencia(lsEsquemaTramo); + lsParadaEsquemaOrignal = new ArrayList(); + for (ParadaEsquema paradaEsquema : lsParadaEsquema) { + lsParadaEsquemaOrignal.add(paradaEsquema.clone()); + } + //lsParadaEsquemaOrignal.addAll(lsParadaEsquema); selecionarRutaSequenciaForaEsqCorrida(); } @@ -1007,113 +1018,72 @@ public class EditarCorridaController extends MyGenericForwardComposer { for (LocalDate date = inicioLocalDate; date.isBefore(fimLocalDate); date = date.plusDays(1)) { Date dataIter = Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant()); try { - //1 - Validar se corrida existe vendas disponíveis - //if(boletoService.isExisteBoletoPorCorrida(esquemaCorrida.getNumCorrida(), dataIter)) { - // String msgErro = "Corrida não será gerada novamente. Existem vendas para a corrida:" + esquemaCorrida.getNumCorrida() + " na data:" + DateUtil.getStringDate(dataIter); - // log.error("Geração de corrida via Conf. " + msgErro); - // TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - // tarefaErros.add(tarefa); - // continue; - //} - - //Valida Pìso Extra tem boletos vendidos - //if(Boolean.TRUE.equals(esquemaCorrida.getPisoExtra()) && boletoService.isExisteBoletoPorCorrida(esquemaCorrida.getNumCorridaPisoExtra(), dataIter)) { - // String msgErro = "Não econtrado corrida:" + esquemaCorrida.getNumCorrida() + " para a data:" + DateUtil.getStringDate(dataIter); - // log.error("Geração de corrida via Conf. " + msgErro); - // TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - // tarefaErros.add(tarefa); - // continue; - //} - //Aqui chegará um objeto CorridaTramo com as alterações realizadas - for(ItemEditarCorridaTramo itemEditarCorridaTramo: itemEditarCorridaTramoList) { - //2 - Valida existe boleto para origem - itemEditarCorridaTramo.setCorridaId(esquemaCorrida.getNumCorrida()); - itemEditarCorridaTramo.setFecCorrida(dataIter); - itemEditarCorridaTramo.setAutobus(esquemaCorrida.getAutoBus()); - itemEditarCorridaTramo.setClaseServicio(esquemaCorrida.getClaseServicio()); - itemEditarCorridaTramo.setStatusCorrida(esquemaCorrida.getStatusCorrida()); - if(esquemaCorrida!=null && esquemaCorrida.getRuta()!=null) { - // parada origem - Parada origen = rutaService.getOrigem(esquemaCorrida.getRuta()); - if (origen == null) { - log.info("origen nao encontrado para a ruta = " + esquemaCorrida.getRuta().getRutaId()); + + List lsParadaEsquemaRemovidas = new ArrayList(); + List lsParadaEsquemaEditadas =new ArrayList(); + preencheParadaEsquemaRemovidaEEditada(lsParadaEsquemaRemovidas, lsParadaEsquemaEditadas); + + List lsParadaEsquemaAdicionadasRemovidasOuEditadas = new ArrayList() ; + if(lsParadaEsquemaEditadas!=null) { + lsParadaEsquemaAdicionadasRemovidasOuEditadas.addAll(lsParadaEsquemaEditadas); + } + if(lsParadaEsquemaRemovidas!=null) { + lsParadaEsquemaAdicionadasRemovidasOuEditadas.addAll(lsParadaEsquemaRemovidas); + } + + List localidadeComVenda =null; + for (ParadaEsquema paradaEsquema : lsParadaEsquemaAdicionadasRemovidasOuEditadas) { + if(boletoService.isExisteBoletoPorCorridaOrigemIdOuDestinoId(esquemaCorrida.getNumCorrida(), dataIter, paradaEsquema.getParada().getParadaId(), paradaEsquema.getParada().getParadaId())) { + if(localidadeComVenda == null) { + localidadeComVenda = new ArrayList(); } - itemEditarCorridaTramo.setNodo((origen == null) ? null : origen.getNodo()); - } - if(boletoService.isExisteBoletoPorCorridaOrigemIdOuDestinoId(esquemaCorrida.getNumCorrida(), dataIter, itemEditarCorridaTramo.getParadaId(), itemEditarCorridaTramo.getParadaId())) { - String msgErro = "Trecho com origem/destino: " + itemEditarCorridaTramo.getDescParada() + " não pode ser alterdo" + ". Existem vendas para essa localidade da corrida:" + esquemaCorrida.getNumCorrida() + " na data:" + DateUtil.getStringDate(dataIter); + localidadeComVenda.add(paradaEsquema); + String msgErro = "Trecho com origem/destino: " + paradaEsquema.getParada().getDescparada() + " não pode ser alterdo" + ". Existem vendas para essa localidade da corrida:" + esquemaCorrida.getNumCorrida() + " na data:" + DateUtil.getStringDate(dataIter); log.error("Geração de corrida via Conf. " + msgErro); TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); tarefaErros.add(tarefa); - continue; } - //Valida Pìso Extra tem boletos vendidos para origem - if(Boolean.TRUE.equals(esquemaCorrida.getPisoExtra()) && boletoService.isExisteBoletoPorCorridaOrigemIdOuDestinoId(esquemaCorrida.getNumCorridaPisoExtra(), dataIter, itemEditarCorridaTramo.getParadaId(), itemEditarCorridaTramo.getParadaId())) { - String msgErro = "Trecho com origem/destino: " + itemEditarCorridaTramo.getDescParada() + " não pode ser alterdo" + ". Existem vendas para essa localidade da corrida:" + esquemaCorrida.getNumCorrida() + " na data:" + DateUtil.getStringDate(dataIter); - log.error("Geração de corrida via Conf. " + msgErro); - TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - tarefaErros.add(tarefa); - continue; - } - if(itemEditarCorridaTramo !=null) { - if(itemEditarCorridaTramo.isTramoEditado()) { - if(!corridaTramoService.atualizaCorridaTramo(itemEditarCorridaTramo)) { - String msgErro = "Trecho não será atualizado. Houve algu,m erro ao atualizar corridaTramo(parada_id): " + itemEditarCorridaTramo.getParadaId() +" da corrida:" + esquemaCorrida.getNumCorrida() + " na data:" + DateUtil.getStringDate(dataIter); - log.error("Geração de corrida via Conf. " + msgErro); - TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - continue; - } - }else if(itemEditarCorridaTramo.isAdicionado()) { - corridaTramoService.adicionaCorridaTramo(itemEditarCorridaTramo, esquemaCorrida,dataIter); - }else if(itemEditarCorridaTramo.isExcluido()) { - corridaTramoService.excluiCorridaTramo(itemEditarCorridaTramo); - } - } - + + } + List corridaTramoList = null; + //Se nenhuma localidade editada tem venda, recria todos os corridas tramos da corrida + if(localidadeComVenda==null || localidadeComVenda.isEmpty()) { + corridaTramoList = corridaTramoService.recriaCorridaTramo(esquemaCorrida, dataIter, lsEsquemaTramo ); String msgSucesso = "Corrida para a data " + DateUtil.getStringDate(dataIter) + " gerada com sucesso"; TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" ); tarefaSucesso.add(tarefa); - + }else { + List lsEsquemaTramoIter = new ArrayList(); + List localidadeComVendaIter = new ArrayList(); + localidadeComVendaIter.addAll(lsParadaEsquema); + for (ParadaEsquema paradaEsquemaComVenda : localidadeComVenda) { + List listParadaEsquemaComNovaParada = new ArrayList(); + lsEsquemaTramoIter = adicionarParadaEsquemaTramo(localidadeComVendaIter,paradaEsquemaComVenda.getParada() , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), paradaEsquemaComVenda.getPlataforma(), paradaEsquemaComVenda.getTipoPassagem(), listParadaEsquemaComNovaParada); + localidadeComVendaIter = listParadaEsquemaComNovaParada; + } + corridaTramoList = corridaTramoService.recriaCorridaTramo(esquemaCorrida, dataIter, lsEsquemaTramoIter ); } - //1 - busca corridatramos da corrida - - - //3 - Valida existe venda para destino - //4 - Carrega os trechos da linha, caso algum tenha sido removido nas configurações do esquema corrida - //5 - inativa corrida_tramo - //6 - insere corrida tramo novamente recalculando da hora de saida e chegada de acordo com tempoEstancia (tempo que que o serviço fica na parada) - - - - - - //Valida e apaga corrida caso exista - //TarefaGeracaoCorridaVO tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorrida(), dataIter); - //if(tarefaErro !=null) { - // tarefaErros.add(tarefaErro); - // continue; - //} + TarefaGeracaoCorridaVO tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorrida(), dataIter); + if(tarefaErro !=null) { + tarefaErros.add(tarefaErro); + continue; + } + //Valida e apaga corrida piso extra caso exista - //if(esquemaCorrida.getNumCorridaPisoExtra()!=null) { - // tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorridaPisoExtra(), dataIter); - // if(tarefaErro !=null) { - // tarefaErros.add(tarefaErro); - // } - //} + if(esquemaCorrida.getNumCorridaPisoExtra()!=null) { + tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorridaPisoExtra(), dataIter); + if(tarefaErro !=null) { + tarefaErros.add(tarefaErro); + } + } // Gerar corrida novamente. - //List esquemaCorridaList = new ArrayList(); - //esquemaCorridaList.add(esquemaCorrida); - //corridaService.generarCorrida(dataIter, esquemaCorridaList, false); - - - //String msgSucesso = "Corrida para a data " + DateUtil.getStringDate(dataIter) + " gerada com sucesso"; - //TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" ); - //tarefaSucesso.add(tarefa); - + List esquemaCorridaList = new ArrayList(); + esquemaCorridaList.add(esquemaCorrida); + corridaService.generarCorrida(dataIter, esquemaCorridaList, false, corridaTramoList); @@ -1138,6 +1108,95 @@ public class EditarCorridaController extends MyGenericForwardComposer { log.error("Erro ao gerar corrida para a corrida: " + esquemaCorrida.getNumCorrida()); } } + + private List preencheParadaEsquemaNovas() { + List lsParadaEsquemaAdicionado = new ArrayList(); + for (ParadaEsquema paradaEsquemaNov : lsParadaEsquema) { + boolean isParadaEsquemaAntiga = false; + for (ParadaEsquema paradaEsquemaAntiga : lsParadaEsquemaOrignal) { + if(paradaEsquemaAntiga.equals(paradaEsquemaNov)) { + isParadaEsquemaAntiga = true; + break; + } + } + //Se isParadaEsquemaNaoRemovida=false a parada esquema foi removida, adiciona na lista. + if(!isParadaEsquemaAntiga) { + if(lsParadaEsquemaAdicionado == null) { + lsParadaEsquemaAdicionado = new ArrayList(); + } + lsParadaEsquemaAdicionado.add(paradaEsquemaNov); + } + } + return lsParadaEsquemaAdicionado; + } + + /** + * Preenche a lista de paradas removidas e a lista de paradas Editadas + * + * @param lsParadaEsquemaRemovidas + * @param lsParadaEsquemaEditadas + */ + private void preencheParadaEsquemaRemovidaEEditada(List lsParadaEsquemaRemovidas, List lsParadaEsquemaEditadas) { + for (ParadaEsquema paradaEsquemaAntiga : lsParadaEsquemaOrignal) { + boolean isParadaEsquemaNaoRemovida = false; + for (ParadaEsquema paradaEsquemaNova : lsParadaEsquema) { + if(paradaEsquemaNova.equals(paradaEsquemaAntiga)) { + isParadaEsquemaNaoRemovida = true; + ParadaEsquema paradaEsquemaEditada = validaParadaEsquemaEditada(paradaEsquemaAntiga, paradaEsquemaNova); + if(paradaEsquemaEditada !=null) { + if(lsParadaEsquemaEditadas==null) { + lsParadaEsquemaEditadas = new ArrayList(); + } + lsParadaEsquemaEditadas.add(paradaEsquemaEditada); + } + break; + } + } + //Se isParadaEsquemaNaoRemovida=false a parada esquema foi removida, adiciona na lista. + if(!isParadaEsquemaNaoRemovida) { + if(lsParadaEsquemaRemovidas == null) { + lsParadaEsquemaRemovidas = new ArrayList(); + } + lsParadaEsquemaRemovidas.add(paradaEsquemaAntiga); + } + } + } + + /** + * Se editou retorna a parada se não retorna nulo + * @param paradaEsquemaAntiga + * @param paradaEsquemaNova + * @return + */ + private ParadaEsquema validaParadaEsquemaEditada(ParadaEsquema paradaEsquemaAntiga, ParadaEsquema paradaEsquemaNova ) { + boolean isParadaEsquemaEditada = false; + //verifica se editou tiempoEstancia + if(paradaEsquemaAntiga.getTiempoEstancia()!=null && paradaEsquemaNova.getTiempoEstancia()!=null + && !paradaEsquemaAntiga.getTiempoEstancia().equals(paradaEsquemaNova.getTiempoEstancia())) { + isParadaEsquemaEditada = true; + } + //verifica se editou excepcionRecorrido + if(paradaEsquemaAntiga.getExcepcionRecorrido()!=null && paradaEsquemaNova.getExcepcionRecorrido()!=null + && !paradaEsquemaAntiga.getExcepcionRecorrido().equals(paradaEsquemaNova.getExcepcionRecorrido())) { + isParadaEsquemaEditada = true; + } + //Verifica se editou Tipo passagem + if(paradaEsquemaAntiga.getTipoPassagem()!=null && paradaEsquemaNova.getTipoPassagem()!=null + && !paradaEsquemaAntiga.getTipoPassagem().equals(paradaEsquemaNova.getTipoPassagem())) { + isParadaEsquemaEditada = true; + } + //Verifica se editou Tipo PLataforma + if(paradaEsquemaAntiga.getPlataforma()!=null && paradaEsquemaNova.getPlataforma()!=null + && !paradaEsquemaAntiga.getPlataforma().equals(paradaEsquemaNova.getPlataforma())) { + isParadaEsquemaEditada = true; + } + //Se editou retorna a parada se não retorna nulo + if(isParadaEsquemaEditada) { + return paradaEsquemaNova; + + } + return null; + } private TarefaGeracaoCorridaVO validaApagaCorridaAgerar(Integer corridaId, Date dataIter) { @@ -1153,30 +1212,21 @@ public class EditarCorridaController extends MyGenericForwardComposer { } try { - apagarCorrida(corrida); - }catch (DataIntegrityViolationException e) { - if(e.getRootCause()!=null && e.getRootCause().getLocalizedMessage() !=null && e.getRootCause().getLocalizedMessage().contains("SYS_C004956867")) { - String msgErro = "Existe uma ocupação para esta corrida nesta data (tabela Disponibilidade). Corrida:" + corridaId + " data:" + DateUtil.getStringDate(dataIter); - return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - //log.error("Geração de corrida via Conf. " + msgErro, e); - }else if (e.getRootCause()!=null && e.getRootCause().getLocalizedMessage() !=null && e.getRootCause().getLocalizedMessage().contains("SYS_C004957483")) { - String msgErro = "Existe um assento exclusivo para esta corrida nesta data (tabela ASIENTO_EXCLUSIVO). Corrida:" + corridaId + " data:" + DateUtil.getStringDate(dataIter); - return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - //log.error("Geração de corrida via Conf. " + msgErro, e); - - }else if(e.getRootCause()!=null && e.getRootCause().getLocalizedMessage() !=null && e.getRootCause().getLocalizedMessage().contains("FK_CORR_INFO")){ - String msgErro = "Existe uma informação de corrida por trecho para esta corrida nesta data (tabela CORRIDA_INFO). Corrida:" + corridaId + " data:" + DateUtil.getStringDate(dataIter); - return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - }else{ - String msgErro = "Alguma restrição de integridade foi violada. Favor verificar "; - log.error("Geração de corrida via Conf. " + msgErro, e); - return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); - } + inativaCorridaETabelasRelacionadas(corrida); + }catch (Exception e) { + String msgErro = "Erro ao inativar corrida e tabelas relacionadas. Favor verificar "; + log.error("Geração de corrida via Conf. " + msgErro, e); + return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO"); + } return null; } - private void apagarCorrida(Corrida corrida) { + /** + * Inativa a corrida e a realção dela com as seguintes tabelas: Corrida_Info, ASIENTO_EXCLUSIVO, Disponibilidad, INTEGRACAO_TOTVS_CORRIDA e corrida + * @param corrida + */ + private void inativaCorridaETabelasRelacionadas(Corrida corrida) { corridaInfoService.borrarByCorrida(corrida); asientoExclusivoService.borrarByCorrida(corrida); disponibilidadService.borrarByCorrida(corrida); @@ -1465,7 +1515,8 @@ public class EditarCorridaController extends MyGenericForwardComposer { // Ruta Secuencia Parada paradaAlterada = (Parada) cmbTramo.getSelectedItem().getValue(); - lsEsquemaTramo = adicionarParadaEsquemaTramo(lsParadaEsquema,paradaAlterada , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), plataforma, tipoPassagem); + List listParadaEsquemaComNovaParada = new ArrayList(); + lsEsquemaTramo = adicionarParadaEsquemaTramo(lsParadaEsquema,paradaAlterada , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), plataforma, tipoPassagem, listParadaEsquemaComNovaParada); ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo(); itemEditarCorridaTramo.setLsEsquemaTramoNova(lsEsquemaTramo); itemEditarCorridaTramo.setAdicionado(true); @@ -1604,37 +1655,9 @@ public class EditarCorridaController extends MyGenericForwardComposer { args.put("paradaEsquema", pe); args.put("esquemaTramoList", esquemaTramoList); args.put("sequenciaSize", sequenciaSize); - ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo(); - args.put("itemEditarCorridaTramo", itemEditarCorridaTramo); - - try { - Window dialog = (Window)Executions.createComponents( - "/gui/esquema_operacional/tiempoEstanciaTramo.zul", null, args); - - - dialog.doModal(); - } catch (SuspendNotAllowedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - - - //openWindow("/gui/esquema_operacional/tiempoEstanciaTramo.zul", - // Labels.getLabel("editarCatalogoDeRutaController.lhTiempoEstancia"), args, MODAL); - itemEditarCorridaTramo = (ItemEditarCorridaTramo) args.get("itemEditarCorridaTramo"); - if(itemEditarCorridaTramo!=null && itemEditarCorridaTramo.isTramoEditado()) { - itemEditarCorridaTramo.setParadaId(pe.getParada().getParadaId()); - itemEditarCorridaTramo.setTramoEditado(true); - if(itemEditarCorridaTramoList ==null) { - itemEditarCorridaTramoList = new ArrayList(); - } - itemEditarCorridaTramoList.add(itemEditarCorridaTramo); - } + openWindow("/gui/esquema_operacional/tiempoEstanciaTramo.zul", + Labels.getLabel("editarCatalogoDeRutaController.lhTiempoEstancia"), args, MODAL); } public void onChange$cmbRuta(Event ev) { @@ -1681,12 +1704,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { Messagebox.OK, Messagebox.EXCLAMATION); } lsEsquemaTramo = generaEsquemaTramoCorrecto(lsParadaEsquema, esquemaCorrida); - ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo(); - itemEditarCorridaTramo.setParadaId(pe.getParada().getParadaId()); - itemEditarCorridaTramo.setDescParada(pe.getParada().getDescparada()); - itemEditarCorridaTramo.setExcluido(true); - itemEditarCorridaTramoList.add(itemEditarCorridaTramo); - itemEditarCorridaTramo.setLsEsquemaTramoNova(lsEsquemaTramo); selecionarRutaSequenciaForaEsqCorrida(); } catch (Exception e) { @@ -1754,12 +1771,12 @@ public class EditarCorridaController extends MyGenericForwardComposer { private List adicionarParadaEsquemaTramo( List listParadaEsquema, Parada novaParada, - EsquemaCorrida ec, Ruta ruta, String plataforma, String tipoPassagem) { + EsquemaCorrida ec, Ruta ruta, String plataforma, String tipoPassagem, List listParadaEsquemaComNovaParada) { List result = new ArrayList(); lsRutaSecuencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta); - List listParadaEsquemaComNovaParada = new ArrayList(); + Short secuencia = 0; @@ -1769,7 +1786,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { // vez Integer indiceSecuencia = null; for (int i = 0; i < lsRutaSecuencia.size(); i++) { - ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo(); RutaSecuencia rutaSecuencia = lsRutaSecuencia.get(i); if (rutaSecuencia.getTramo().getOrigem().equals(novaParada)) { ParadaEsquema paradaEsquema = new ParadaEsquema(); @@ -1779,10 +1795,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { paradaEsquema.setParada(novaParada); paradaEsquema.setPlataforma(plataforma); paradaEsquema.setTipoPassagem(tipoPassagem); - itemEditarCorridaTramo.setParadaId(novaParada.getParadaId()); - itemEditarCorridaTramo.setDescParada(novaParada.getDescparada()); - itemEditarCorridaTramo.setAdicionado(true); - itemEditarCorridaTramoList.add(itemEditarCorridaTramo); listParadaEsquemaComNovaParada.add(paradaEsquema); nuevoAgregado = true; indiceSecuencia = i; @@ -1798,7 +1810,7 @@ public class EditarCorridaController extends MyGenericForwardComposer { } } } - ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo(); + if (noExisteTramoAsociado) { if (indiceSecuencia != null) { if ((lsRutaSecuencia.size() - 1) > indiceSecuencia) { @@ -1810,9 +1822,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { paradaEsquema.setParada(rutaSecuencia.getTramo().getDestino()); paradaEsquema.setPlataforma(plataforma); listParadaEsquemaComNovaParada.add(paradaEsquema); - itemEditarCorridaTramo.setParadaId(novaParada.getParadaId()); - itemEditarCorridaTramo.setAdicionado(true); - itemEditarCorridaTramoList.add(itemEditarCorridaTramo); } } } @@ -1826,9 +1835,6 @@ public class EditarCorridaController extends MyGenericForwardComposer { paradaEsquema.setTipoPassagem(tipoPassagem); listParadaEsquemaComNovaParada.add(paradaEsquema); - itemEditarCorridaTramo.setParadaId(novaParada.getParadaId()); - itemEditarCorridaTramo.setAdicionado(true); - itemEditarCorridaTramoList.add(itemEditarCorridaTramo); } if (!listParadaEsquema.isEmpty()) { secuencia++;