diff --git a/pom.xml b/pom.xml
index 4e3dc6ec2..513b1abd0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,11 +4,11 @@
4.0.0
br.com.rjconsultores
ventaboletosadm
- 1.54.3
+ 1.54.4
war
- 1.40.5
+ 1.40.6
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 7b0e4382a..543412426 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
@@ -23,13 +23,11 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
-import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
-import org.zkoss.zk.ui.SuspendNotAllowedException;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
@@ -1021,6 +1019,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
List lsParadaEsquemaRemovidas = new ArrayList();
List lsParadaEsquemaEditadas =new ArrayList();
+ Corrida corrida = corridaService.buscarCorridaAtivaPorId(new Corrida.Id(esquemaCorrida.getNumCorrida(),dataIter ));
preencheParadaEsquemaRemovidaEEditada(lsParadaEsquemaRemovidas, lsParadaEsquemaEditadas);
List lsParadaEsquemaAdicionadasRemovidasOuEditadas = new ArrayList() ;
@@ -1048,11 +1047,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
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);
-
+ corridaTramoList = corridaTramoService.recriaCorridaTramo(esquemaCorrida, dataIter, lsEsquemaTramo, corrida );
}else {
List lsEsquemaTramoIter = new ArrayList();
List localidadeComVendaIter = new ArrayList();
@@ -1062,7 +1057,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
lsEsquemaTramoIter = adicionarParadaEsquemaTramo(localidadeComVendaIter,paradaEsquemaComVenda.getParada() , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), paradaEsquemaComVenda.getPlataforma(), paradaEsquemaComVenda.getTipoPassagem(), listParadaEsquemaComNovaParada);
localidadeComVendaIter = listParadaEsquemaComNovaParada;
}
- corridaTramoList = corridaTramoService.recriaCorridaTramo(esquemaCorrida, dataIter, lsEsquemaTramoIter );
+ corridaTramoList = corridaTramoService.recriaCorridaTramo(esquemaCorrida, dataIter, lsEsquemaTramoIter, corrida );
}
//Valida e apaga corrida caso exista
@@ -1083,8 +1078,12 @@ public class EditarCorridaController extends MyGenericForwardComposer {
// Gerar corrida novamente.
List esquemaCorridaList = new ArrayList();
esquemaCorridaList.add(esquemaCorrida);
- corridaService.generarCorrida(dataIter, esquemaCorridaList, false, corridaTramoList, true);
-
+ boolean isAtualizaCorrida = corrida!=null;
+ corridaService.generarCorrida(dataIter, esquemaCorridaList, false, corridaTramoList, isAtualizaCorrida);
+ String msgSucesso = "Corrida para a data " + DateUtil.getStringDate(dataIter) + " gerada com sucesso";
+ TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" );
+ tarefaSucesso.add(tarefa);
+
}catch (Exception e) {
@@ -1184,20 +1183,21 @@ public class EditarCorridaController extends MyGenericForwardComposer {
Corrida.Id id = new Corrida.Id(corridaId, dataIter);
//3 - Gerar nova corrida somente se a corrida estiver ativa
Corrida corrida = corridaService.buscarCorridaAtivaPorId(id);
-
- if(corrida==null) {
- String msgErro = "Não econtrado corrida ativa e habilitada:" + esquemaCorrida.getNumCorrida() + " para a data:" + DateUtil.getStringDate(dataIter);
- log.error("Geração de corrida via Conf. " + msgErro);
- return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
- }
-
- try {
- 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");
-
+//
+// if(corrida==null) {
+// String msgErro = "Não econtrado corrida ativa e habilitada:" + esquemaCorrida.getNumCorrida() + " para a data:" + DateUtil.getStringDate(dataIter);
+// log.error("Geração de corrida via Conf. " + msgErro);
+// return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
+// }
+ if(corrida!=null) {
+ try {
+ 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;
}
@@ -1563,6 +1563,22 @@ public class EditarCorridaController extends MyGenericForwardComposer {
cmbTramo.setModel(listModelTramo);
cmbParadaOrigem.setModel(new BindingListModelList( lstPardasRuta, true));
cmbParadaDestino.setModel(new BindingListModelList( lstPardasRuta, true));
+ preencheParadaEsquemaOriginal();
+ }
+
+ private void preencheParadaEsquemaOriginal() {
+ List lsEsquemaTramoIter = new ArrayList();
+ List localidadeComVendaIter = new ArrayList();
+ localidadeComVendaIter.addAll(lsParadaEsquema);
+ for (Parada parada : lsTramos) {
+ List listParadaEsquemaComNovaParada = new ArrayList();
+ lsEsquemaTramoIter = adicionarParadaEsquemaTramo(localidadeComVendaIter,parada , esquemaCorrida, esquemaCorrida.getRuta(), null, null, listParadaEsquemaComNovaParada);
+ localidadeComVendaIter = listParadaEsquemaComNovaParada;
+ }
+ lsEsquemaTramoOriginal = new ArrayList();
+ lsEsquemaTramoOriginal.addAll(lsEsquemaTramoIter);
+ lsParadaEsquemaOrignal = new ArrayList();
+ lsParadaEsquemaOrignal.addAll(localidadeComVendaIter);
}
private void selecionarRuta() {
@@ -1752,8 +1768,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
lsRutaSecuencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
-
-
Short secuencia = 0;
boolean nuevoAgregado = false;
boolean noExisteTramoAsociado = listParadaEsquema.isEmpty();// es la
@@ -1770,7 +1784,9 @@ public class EditarCorridaController extends MyGenericForwardComposer {
paradaEsquema.setParada(novaParada);
paradaEsquema.setPlataforma(plataforma);
paradaEsquema.setTipoPassagem(tipoPassagem);
- listParadaEsquemaComNovaParada.add(paradaEsquema);
+
+ listParadaEsquemaComNovaParada.add(paradaEsquema);
+
nuevoAgregado = true;
indiceSecuencia = i;
} else {
@@ -1778,7 +1794,9 @@ public class EditarCorridaController extends MyGenericForwardComposer {
if (rutaSecuencia.getTramo().getOrigem().equals(listParadaEsquema.get(0).getParada())) {
secuencia++;
listParadaEsquema.get(0).setNumsecuencia(secuencia);
- listParadaEsquemaComNovaParada.add(listParadaEsquema.get(0));
+
+ listParadaEsquemaComNovaParada.add(listParadaEsquema.get(0));
+
listParadaEsquema.remove(0);
}
@@ -1822,10 +1840,10 @@ public class EditarCorridaController extends MyGenericForwardComposer {
Parada paradaOrigen = listParadaEsquemaComNovaParada.get(i).getParada();
Parada paradaDestino = listParadaEsquemaComNovaParada.get(i + 1).getParada();
- Tramo t = rutaCombinacionService.busqueda((Ruta) cmbRuta.getSelectedItem().getValue(), paradaOrigen, paradaDestino);
+ Tramo t = rutaCombinacionService.busqueda((Ruta) ruta, paradaOrigen, paradaDestino);
if(t==null) {
- List lsr = rutaSecuenciaService.buscarSecuenciaOrdenado((Ruta) cmbRuta.getSelectedItem().getValue());
+ List lsr = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
for(RutaSecuencia s : lsr) {
if(s.tieneOrigen(paradaOrigen.getParadaId()) && s.tieneDestino(paradaDestino.getParadaId())) {
t = s.getTramo();
diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label
index d22f0ebcb..4e7fc71fc 100644
--- a/web/WEB-INF/i3-label_pt_BR.label
+++ b/web/WEB-INF/i3-label_pt_BR.label
@@ -3135,7 +3135,7 @@ busquedaCatalogoDeRutaController.lhDesc.label = Linha
busquedaCatalogoDeRutaController.lhClase.label = Classe
busquedaCatalogoDeRutaController.lbClase.value = Tipo de Classe
busquedaCatalogoDeRutaController.chkRutaCancelada=Linhas Inativas
-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.
+busquedaCatalogoDeRutaController.msg.validactionRemocionParada=Não é possível remover a localidade "{0}" da linha pois já existe(n) serviço(s) que contém esta localidade. Remova a localidade "{0}" nos seguintes serviços : ({1}) para depois remover na linha.
# Pantalla Editar Linha
editarCatalogoDeRutaController.btnRetomarCancelar.tooltipCancelar=Desativar