issue #7460 - cancelar retomar ruta

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@58745 d1611594-4594-4d17-8e1d-87c2c4800839
master
edgar 2016-08-04 17:41:55 +00:00
parent cc83a1cdd0
commit 1d1ffcd42e
2 changed files with 162 additions and 103 deletions

View File

@ -56,7 +56,9 @@ import org.zkoss.zul.ext.Constrainted;
import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -72,6 +74,7 @@ import com.rjconsultores.ventaboletos.entidad.TramoServicio;
import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.GrupoRutaService;
@ -134,6 +137,9 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private GrupoRutaService grupoRutaService;
@Autowired
private transient PagedListWrapper<RutaCombinacion> plwRutaCombinacion;
@Autowired
private CorridaService corridaService;
private Ruta ruta;
private MyListbox rutaList;
private MyListbox rutaSecuenciaList;
@ -175,6 +181,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private MyTextbox txtNumRioCard;
private Window winEditarRuta;
private List<ParadaSecuencia> sequenciasInformadas;
private Button btnCancelarRetomar;
public Ruta getRuta() {
return ruta;
@ -282,8 +289,6 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
ruta = (Ruta) Executions.getCurrent().getArg().get("ruta");
rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList");
super.doAfterCompose(comp);
@ -291,54 +296,53 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
rutaSecuenciaList.setItemRenderer(new RenderCatalogoDeRutasSecuencia());
lsRutaSecuencia = new ArrayList<RutaSecuencia>();
sequenciasInformadas = new ArrayList<ParadaSecuencia>();
rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
if(ruta.getRutaId() == null){
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
ParadaSecuencia psOrigen = (ParadaSecuencia)rutaSecuenciaList.getSelected();
int indexSelecto = rutaSecuenciaList.getSelectedIndex();
ParadaSecuencia psDestino = new ParadaSecuencia();
try{
psDestino = (ParadaSecuencia)lsParadasSequencia.get(indexSelecto+1);
}catch(IndexOutOfBoundsException e){
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
if (psOrigen == null) { //lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia ....
return;
}
Map args = new HashMap();
args.put("paradaSecuenciaOrigen", psOrigen);
args.put("paradaSecuenciaDestino", psDestino);
args.put("lsRutaSecuencia", lsRutaSecuencia);
args.put("lsParadasSequencia", lsParadasSequencia);
args.put("rutaSecuenciaList", rutaSecuenciaList);
args.put("casetasList", getCasetasPeage(psOrigen.getCasetas()));
openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL);
}
});
rutaSecuenciaList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
if (ruta.getRutaId() == null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
ParadaSecuencia psOrigen = (ParadaSecuencia) rutaSecuenciaList.getSelected();
int indexSelecto = rutaSecuenciaList.getSelectedIndex();
ParadaSecuencia psDestino = new ParadaSecuencia();
try {
psDestino = (ParadaSecuencia) lsParadasSequencia.get(indexSelecto + 1);
} catch (IndexOutOfBoundsException e) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.finRuta"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
if (psOrigen == null) { // lsRutaSecuencia <-- esse objeto ja tem o id da ruta secuencia ....
return;
}
Map args = new HashMap();
args.put("paradaSecuenciaOrigen", psOrigen);
args.put("paradaSecuenciaDestino", psDestino);
args.put("lsRutaSecuencia", lsRutaSecuencia);
args.put("lsParadasSequencia", lsParadasSequencia);
args.put("rutaSecuenciaList", rutaSecuenciaList);
args.put("casetasList", getCasetasPeage(psOrigen.getCasetas()));
openWindow("/gui/esquema_operacional/editarSecuencia.zul", Labels.getLabel("editarSecuenciaController.window.title"), args, MODAL);
}
});
txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard());
chkIndVentaRioCard.addEventListener("onClick", new EventListener() {
txtNumRioCard.setDisabled(ruta.getIndVentaRioCard() == null || !ruta.getIndVentaRioCard());
chkIndVentaRioCard.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
disableEnableNumRioCard();
}
});
// Combinacion
rutaCombinacionList.setItemRenderer(this);
@ -387,24 +391,71 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
carregouCombinacao = false;
alterarBotaoRetomarCancelar();
}
private void alterarBotaoRetomarCancelar() {
if (ruta.getIndRutaCancelada()) {
btnCancelarRetomar.setTooltiptext(Labels.getLabel("editarCatalogoDeRutaController.btnRetomarCancelar.tooltipRetomar"));
btnCancelarRetomar.setImage("/gui/img/back.png");
} else {
btnCancelarRetomar.setTooltiptext(Labels.getLabel("editarCatalogoDeRutaController.btnRetomarCancelar.tooltipCancelar"));
btnCancelarRetomar.setImage("/gui/img/forbidden.png");
}
}
private List<CasetaPeaje> getCasetasPeage(List<RutaCaseta> casetas) {
List<CasetaPeaje> casetasPeage = new ArrayList<CasetaPeaje>();
if(casetas == null || casetas.isEmpty()) {
if (casetas == null || casetas.isEmpty()) {
return casetasPeage;
}
for (RutaCaseta rutaCaseta : casetas) {
casetasPeage.add(rutaCaseta.getCasetaPeaje());
}
return casetasPeage;
}
public void onClick$btnCancelarRetomar(Event ev) throws Exception {
if (!ruta.getIndRutaCancelada()) {
if (!existeEsquemaCorridaVigente() && !existeCorridaVenda()) {
ruta.setIndRutaCancelada(true);// cancelar
salvarRuta();
}
} else {
ruta.setIndRutaCancelada(false);// retomar
alterarBotaoRetomarCancelar();
}
}
private boolean existeCorridaVenda() throws InterruptedException {
Corrida corrida = corridaService.buscaCorrridaFutura(ruta, new Date());
if (corrida != null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.corridaGeradaVigente")
+ " " + corrida.getId().getCorridaId()
+ " "
+ Labels.getLabel("editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2")
+ " " + DateUtil.getStringDate(corrida.getId().getFeccorrida(), DateUtil.ddMMaa));
return true;
}
return false;
}
private Boolean existeEsquemaCorridaVigente() throws InterruptedException {
EsquemaCorrida esquemaCorrida = esquemaCorridaService.buscaEsquemaPorRuta(ruta);
if (esquemaCorrida != null) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente")
+ " " + esquemaCorrida.getNumCorrida());
return true;
}
return false;
}
protected void disableEnableNumRioCard() {
if(chkIndVentaRioCard.isChecked()) {
if (chkIndVentaRioCard.isChecked()) {
txtNumRioCard.setDisabled(false);
txtNumRioCard.setConstraint("no empty");
} else {
@ -416,15 +467,14 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
private void paginarCombinacao() {
if (ruta.getRutaId() != null) {
HibernateSearchObject<RutaCombinacion> claseServicioBusqueda =
new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class,
pagingRutaCombinacion.getPageSize());
HibernateSearchObject<RutaCombinacion> claseServicioBusqueda = new HibernateSearchObject<RutaCombinacion>(RutaCombinacion.class,
pagingRutaCombinacion.getPageSize());
claseServicioBusqueda.addFilterEqual("activo", Boolean.TRUE);
claseServicioBusqueda.addFilterEqual("ruta", ruta);
plwRutaCombinacion.init(claseServicioBusqueda, rutaCombinacionList, pagingRutaCombinacion);
}
}
}
private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia) {
@ -434,6 +484,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
paradaSecuencia.setVia(via);
lsParadasSequencia.add(paradaSecuencia);
}
private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia, List<RutaCaseta> lCas, String tempo, String km) {
ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada);
@ -458,7 +509,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
Parada paradaOrigem = tramo.getOrigem();
BigDecimal km = tramo.getKmReal();
addTramoPardaSecuencia(paradaOrigem, via, numsecuencia, lcas, getTempo(tramo.getTramoServicioList(), ruta), km != null ? km.toString() : "");
if (i == lsRutaSecuencia.size() - 1) {
Parada paradaDestino = tramo.getDestino();
@ -513,19 +564,19 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
cmbParada.getSelectedItem();
Parada parada = (Parada) cmbParada.getSelectedItem().getValue();
ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada);
paradaSecuencia.setSecuencia(numSecuencia.getValue().shortValue());
paradaSecuencia.setVia((Via)cmbVia.getSelectedItem().getValue());
paradaSecuencia.setVia((Via) cmbVia.getSelectedItem().getValue());
sequenciasInformadas.add(paradaSecuencia);
Via via = (Via) cmbVia.getSelectedItem().getValue();
boolean existe = false;
for (ParadaSecuencia ps : lsParadasSequencia) {
if (ps.getParada().equals(parada)) {
existe = true;
}
@ -551,7 +602,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
Integer novaSecuencia = lsParadasSequencia.get(i).getSecuencia().intValue() + 1;
lsParadasSequencia.get(i).setSecuencia(new Short(novaSecuencia.toString()));
incrementar = Boolean.TRUE;
// So continuo incrementando se já houver uma
// secuencia igual
} else if (incrementar) {
@ -753,17 +804,25 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
public void onClick$btnSalvar(Event ev) throws InterruptedException {
if (ruta.getIndRutaCancelada()) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.linhaDesativada"));
return;
}
salvarRuta();
}
private void salvarRuta() throws InterruptedException {
txtPrefixo.getValue();
txtNumRioCard.getValue();
if(null != txtCantEixos && txtCantEixos.getValue()!= null && txtCantEixos.getValue() == 0){
if (null != txtCantEixos && txtCantEixos.getValue() != null && txtCantEixos.getValue() == 0) {
Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
if(null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0){
if (null != txtCantAsientos && txtCantAsientos.getValue() != null && txtCantAsientos.getValue() == 0) {
Messagebox.show(
Labels.getLabel("editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
@ -772,7 +831,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
List<Ruta> lsRuta = rutaService.buscarNumRuta(txtNumRuta.getValue());
if (radIda.isChecked()) {
ruta.setIndSentidoIda(Boolean.TRUE);
} else if (radVolta.isChecked()) {
@ -814,7 +873,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
try {
if (lsParadasSequencia.size() == 1) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.sequencia"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
@ -840,7 +899,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
Messagebox.show(Labels.getLabel(
"editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: "
+ ruta.getRutaId().toString()),
+ ruta.getRutaId().toString()),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK,
Messagebox.INFORMATION);
@ -856,13 +915,13 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
} else {
ruta = rutaService.actualizacion(ruta, null);
rutaList.updateItem(ruta);
Messagebox.show(Labels.getLabel(
"editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: "
+ ruta.getRutaId().toString()),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
}
}
@ -921,7 +980,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
op.add("Não");
comboVenda.setModel(new ListModelList(op));
comboVenda.setValue(rutaCombinacion.getIndventa() == Boolean.TRUE ? "Sim" : "Não");
if(rutaCombinacion.getRutacombinacionId() != null){
if (rutaCombinacion.getRutacombinacionId() != null) {
comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
}
comboVenda.addEventListener("onChange", new EventListener() {
@ -936,11 +995,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
lc.appendChild(comboVenda);
lc.setParent(lstm);
Tramo tramo = rutaCombinacion.getTramo();
String descTramoDetalhado = tramo.getOrigem().getDescparada() + "|" +tramo.getDestino().getDescparada();
lc = new Listcell(rutaCombinacion.getTramo().getDesctramo() + "("+descTramoDetalhado+")");
String descTramoDetalhado = tramo.getOrigem().getDescparada() + "|" + tramo.getDestino().getDescparada();
lc = new Listcell(rutaCombinacion.getTramo().getDesctramo() + "(" + descTramoDetalhado + ")");
lc.setParent(lstm);
lc = new Listcell();
@ -948,8 +1006,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
final Combobox comboVia = new Combobox();
comboVia.setMold("rounded");
comboVia.setWidth("90%");
if(rutaCombinacion.getRutacombinacionId() != null){
comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
if (rutaCombinacion.getRutacombinacionId() != null) {
comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString());
}
List<Via> lsViaCombinacion = tramoService.obtenerViasOrigemDestino(
rutaCombinacion.getTramo().getOrigem(), rutaCombinacion.getTramo().getDestino());
@ -980,7 +1038,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
}
}
public Intbox getTxtCantEixos() {
return txtCantEixos;
}
@ -1046,75 +1104,75 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
public void setTxtNumRioCard(MyTextbox txtNumRioCard) {
this.txtNumRioCard = txtNumRioCard;
}
}
private boolean clone = false;
public void onClick$btnCopiar(Event ev) throws CloneNotSupportedException, InterruptedException {
if (!clone) {
List<RutaCombinacion> rutaCombinacionsAntiga = rutaCombinacionService.obtenerPorRuta(ruta);
List<RutaCombinacion> rutaCombinacionsAntiga = rutaCombinacionService.obtenerPorRuta(ruta);
ruta = Ruta.clone(ruta);
ruta.setRutaId(null);
List<RutaCombinacion> rutaCombinacions = new ArrayList<RutaCombinacion>();
for (RutaCombinacion rc : rutaCombinacionsAntiga){
for (RutaCombinacion rc : rutaCombinacionsAntiga) {
RutaCombinacion newrc = (RutaCombinacion) rc.clone();
newrc.setRuta(ruta);
newrc.setRutacombinacionId(null);
rutaCombinacions.add(newrc);
}
}
ruta.setRutaCombinacionList(rutaCombinacions);
carregarParadaSecuencia(ruta.getRutaSecuenciaList());
Constraint constNumRuta = txtNumRuta.getConstraint();
txtNumRuta.setConstraint("");
ruta.setNumRuta("");
txtNumRuta.setValue("");
txtNumRuta.setConstraint(constNumRuta);
Constraint constPrefixo = txtPrefixo.getConstraint();
Constraint constPrefixo = txtPrefixo.getConstraint();
txtPrefixo.setConstraint("");
ruta.setPrefixo("");
txtPrefixo.setValue("");
txtPrefixo.setConstraint(constPrefixo);
Constraint constPrefixoAuxiliar = txtPrefixoAuxiliar.getConstraint();
txtPrefixoAuxiliar.setConstraint("");
ruta.setPrefixoAuxiliar("");
txtPrefixoAuxiliar.setValue("");
txtPrefixoAuxiliar.setConstraint(constPrefixoAuxiliar);
Constraint constCantEixos = txtCantEixos.getConstraint();
txtCantEixos.setConstraint("");
ruta.setCantEixos(null);
txtCantEixos.setValue(null);
txtCantEixos.setConstraint(constCantEixos);
Constraint constCantAsientos = txtCantAsientos.getConstraint();
txtCantAsientos.setConstraint("");
ruta.setCantAsientos(null);
txtCantAsientos.setValue(null);
txtCantAsientos.setConstraint(constCantAsientos);
rutaCombinacionList.setModel(new ListModelList(ruta.getRutaCombinacionList()));
lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa();
clone = true;
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.cloneOK"),
Labels.getLabel("editarCatalogoDeRutaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
}
private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) {
List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias);
if (sequenciasAGerar != null){
private void gerarCombinacaoTramoRuta(Ruta ruta, List<ParadaSecuencia> sequencias) {
List<ParadaSecuenciaCombinacaoLinha> sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias);
if (sequenciasAGerar != null) {
Map<String, Object> params = new LinkedHashMap<String, Object>();
RutaTramoVO rutaTramoVO = new RutaTramoVO();
rutaTramoVO.setClaseServicio(ruta.getClaseServicio());
rutaTramoVO.setLsEmpresa(getLsEmpresa());
@ -1124,18 +1182,18 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer
rutaTramoVO.setDescRuta(ruta.getDescruta());
rutaTramoVO.setPrefixo(txtPrefixo.getValue());
rutaTramoVO.setIndSentidoIda(radIda.isChecked());
rutaTramoVO.setLsParadaSecuenciaCombinacaoLinhas(sequenciasAGerar);
params.put("rutaTramoVO", rutaTramoVO);
params.put("winEditarRuta", winEditarRuta);
params.put("ruta", ruta);
params.put("rutaList", rutaList);
params.put("lsSequencias", sequencias);
this.openWindow("/gui/esquema_operacional/generacion_tramo_ruta/gerarCombinacionTramoRuta.zul",
Labels.getLabel("gerarCombinacionTramoRutaController.window.title"), params, MODAL);
Labels.getLabel("gerarCombinacionTramoRutaController.window.title"), params, MODAL);
}
}
}

View File

@ -1802,9 +1802,10 @@ editarCatalogoDeRutaController.padraoRecorrido = Tempo Padrão
editarCatalogoDeRutaController.tempoLocalidade = Tempo Localidade
editarCatalogoDeRutaController.msg.rutaDesativadaId=Edição não permitida! O serviço contem uma rota inativa com id
editarCatalogoDeRutaController.msg.linhaDesativada=Linha desativada, edição não permitida
editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com id
editarCatalogoDeRutaController.msg.corridaGeradaVigente=Existem serviços disponíveis nessa linha com id
editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2= e data marcada para o dia
editarCatalogoDeRuta.MSG.rutaCancelada=Linha cancelada com sucesso!
editarCatalogoDeRutaController.msg.existeEsquemaCorridaVigente=Existe um serviço vigente para esta linha com número
editarCatalogoDeRutaController.msg.corridaGeradaVigente=Existem serviços disponíveis nessa linha de núnero
editarCatalogoDeRutaController.msg.corridaGeradaVigentePt2=no dia
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