Merge pull request 'fices bug #AL-3494' (!401) from AL-3494-3 into master
Reviewed-on: adm/VentaBoletosAdm#401 Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>master
commit
e43686d27d
4
pom.xml
4
pom.xml
|
@ -4,11 +4,11 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>br.com.rjconsultores</groupId>
|
<groupId>br.com.rjconsultores</groupId>
|
||||||
<artifactId>ventaboletosadm</artifactId>
|
<artifactId>ventaboletosadm</artifactId>
|
||||||
<version>1.53.0</version>
|
<version>1.53.1</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<modelWeb.version>1.40.0</modelWeb.version>
|
<modelWeb.version>1.40.1</modelWeb.version>
|
||||||
<flyway.version>1.30.0</flyway.version>
|
<flyway.version>1.30.0</flyway.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
|
@ -52,6 +52,7 @@ import com.rjconsultores.ventaboletos.entidad.Autobus;
|
||||||
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Constante;
|
import com.rjconsultores.ventaboletos.entidad.Constante;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Division;
|
import com.rjconsultores.ventaboletos.entidad.Division;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento;
|
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.CustomEnum;
|
||||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||||
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||||
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.ItemEditarCorridaTramo;
|
|
||||||
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarefaGeracaoCorridaVO;
|
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarefaGeracaoCorridaVO;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
||||||
|
@ -273,11 +273,13 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
private List<Ruta> lsRuta;
|
private List<Ruta> lsRuta;
|
||||||
private List<RutaSecuencia> lsRutaSecuencia;
|
private List<RutaSecuencia> lsRutaSecuencia;
|
||||||
private List<EsquemaTramo> lsEsquemaTramo;
|
private List<EsquemaTramo> lsEsquemaTramo;
|
||||||
|
private List<EsquemaTramo> lsEsquemaTramoOriginal;
|
||||||
private List<Autobus> lsAutoBus;
|
private List<Autobus> lsAutoBus;
|
||||||
private List<RolOperativo> lsRolOperativo;
|
private List<RolOperativo> lsRolOperativo;
|
||||||
private List<RutaSecuencia> lsTramosRutaEsquemaCorrida;
|
private List<RutaSecuencia> lsTramosRutaEsquemaCorrida;
|
||||||
private List<Parada> lsTramos;
|
private List<Parada> lsTramos;
|
||||||
private List<ParadaEsquema> lsParadaEsquema;
|
private List<ParadaEsquema> lsParadaEsquema;
|
||||||
|
private List<ParadaEsquema> lsParadaEsquemaOrignal;
|
||||||
private List<RutaEmbarqueDesembarque> lsRutaEmbarqueDesembarque = new ArrayList<RutaEmbarqueDesembarque>();
|
private List<RutaEmbarqueDesembarque> lsRutaEmbarqueDesembarque = new ArrayList<RutaEmbarqueDesembarque>();
|
||||||
private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarqueSelected = new ArrayList<EsquemaCorridaEmbarqueDesembarque>();
|
private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarqueSelected = new ArrayList<EsquemaCorridaEmbarqueDesembarque>();
|
||||||
private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarqueBorrar = new ArrayList<EsquemaCorridaEmbarqueDesembarque>();
|
private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarqueBorrar = new ArrayList<EsquemaCorridaEmbarqueDesembarque>();
|
||||||
|
@ -295,7 +297,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
private EsquemaCorrida esquemaCorrida;
|
private EsquemaCorrida esquemaCorrida;
|
||||||
private Date dataInicialFiltroCorridaExistente;
|
private Date dataInicialFiltroCorridaExistente;
|
||||||
private Date dataFinalFiltroCorridaExistente;
|
private Date dataFinalFiltroCorridaExistente;
|
||||||
private List<ItemEditarCorridaTramo> itemEditarCorridaTramoList;
|
|
||||||
|
|
||||||
private Button btnCancelarRetomar;
|
private Button btnCancelarRetomar;
|
||||||
|
|
||||||
|
@ -307,7 +309,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
salvar = true;
|
salvar = true;
|
||||||
cmbRuta.setItemRenderer(new MyComboRutaRenderer());
|
cmbRuta.setItemRenderer(new MyComboRutaRenderer());
|
||||||
popularCombobox(cmbIndGeneraFeriado);
|
popularCombobox(cmbIndGeneraFeriado);
|
||||||
itemEditarCorridaTramoList = new ArrayList<ItemEditarCorridaTramo>();
|
|
||||||
|
|
||||||
esquemaCorridaEmbarqueDesembarqueListbox.setItemRenderer(new RenderEsquemaCorridaEmbarqueDesembarque());
|
esquemaCorridaEmbarqueDesembarqueListbox.setItemRenderer(new RenderEsquemaCorridaEmbarqueDesembarque());
|
||||||
lstTrechosInformacaoCorridaListbox.setItemRenderer(new RenderCorridaInfomacaoTramo());
|
lstTrechosInformacaoCorridaListbox.setItemRenderer(new RenderCorridaInfomacaoTramo());
|
||||||
|
@ -479,7 +480,17 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
}
|
}
|
||||||
lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida);
|
lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida);
|
||||||
|
lsEsquemaTramoOriginal = new ArrayList<EsquemaTramo>();
|
||||||
|
for (EsquemaTramo esquemaTramo : lsEsquemaTramoOriginal) {
|
||||||
|
lsEsquemaTramoOriginal.add(esquemaTramo.clone());
|
||||||
|
}
|
||||||
|
//lsEsquemaTramoOriginal.addAll(lsEsquemaTramo);
|
||||||
carregarParadaSecuencia(lsEsquemaTramo);
|
carregarParadaSecuencia(lsEsquemaTramo);
|
||||||
|
lsParadaEsquemaOrignal = new ArrayList<ParadaEsquema>();
|
||||||
|
for (ParadaEsquema paradaEsquema : lsParadaEsquema) {
|
||||||
|
lsParadaEsquemaOrignal.add(paradaEsquema.clone());
|
||||||
|
}
|
||||||
|
//lsParadaEsquemaOrignal.addAll(lsParadaEsquema);
|
||||||
selecionarRutaSequenciaForaEsqCorrida();
|
selecionarRutaSequenciaForaEsqCorrida();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1007,113 +1018,72 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
for (LocalDate date = inicioLocalDate; date.isBefore(fimLocalDate); date = date.plusDays(1)) {
|
for (LocalDate date = inicioLocalDate; date.isBefore(fimLocalDate); date = date.plusDays(1)) {
|
||||||
Date dataIter = Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date dataIter = Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||||
try {
|
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
|
List<ParadaEsquema> lsParadaEsquemaRemovidas = new ArrayList<ParadaEsquema>();
|
||||||
//if(Boolean.TRUE.equals(esquemaCorrida.getPisoExtra()) && boletoService.isExisteBoletoPorCorrida(esquemaCorrida.getNumCorridaPisoExtra(), dataIter)) {
|
List<ParadaEsquema> lsParadaEsquemaEditadas =new ArrayList<ParadaEsquema>();
|
||||||
// String msgErro = "Não econtrado corrida:" + esquemaCorrida.getNumCorrida() + " para a data:" + DateUtil.getStringDate(dataIter);
|
preencheParadaEsquemaRemovidaEEditada(lsParadaEsquemaRemovidas, lsParadaEsquemaEditadas);
|
||||||
// log.error("Geração de corrida via Conf. " + msgErro);
|
|
||||||
// TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
|
List<ParadaEsquema> lsParadaEsquemaAdicionadasRemovidasOuEditadas = new ArrayList<ParadaEsquema>() ;
|
||||||
// tarefaErros.add(tarefa);
|
if(lsParadaEsquemaEditadas!=null) {
|
||||||
// continue;
|
lsParadaEsquemaAdicionadasRemovidasOuEditadas.addAll(lsParadaEsquemaEditadas);
|
||||||
//}
|
|
||||||
//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());
|
|
||||||
}
|
}
|
||||||
itemEditarCorridaTramo.setNodo((origen == null) ? null : origen.getNodo());
|
if(lsParadaEsquemaRemovidas!=null) {
|
||||||
|
lsParadaEsquemaAdicionadasRemovidasOuEditadas.addAll(lsParadaEsquemaRemovidas);
|
||||||
}
|
}
|
||||||
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);
|
List<ParadaEsquema> localidadeComVenda =null;
|
||||||
|
for (ParadaEsquema paradaEsquema : lsParadaEsquemaAdicionadasRemovidasOuEditadas) {
|
||||||
|
if(boletoService.isExisteBoletoPorCorridaOrigemIdOuDestinoId(esquemaCorrida.getNumCorrida(), dataIter, paradaEsquema.getParada().getParadaId(), paradaEsquema.getParada().getParadaId())) {
|
||||||
|
if(localidadeComVenda == null) {
|
||||||
|
localidadeComVenda = new ArrayList<ParadaEsquema>();
|
||||||
|
}
|
||||||
|
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);
|
log.error("Geração de corrida via Conf. " + msgErro);
|
||||||
TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
|
TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
|
||||||
tarefaErros.add(tarefa);
|
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<CorridaTramo> 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";
|
String msgSucesso = "Corrida para a data " + DateUtil.getStringDate(dataIter) + " gerada com sucesso";
|
||||||
TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" );
|
TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" );
|
||||||
tarefaSucesso.add(tarefa);
|
tarefaSucesso.add(tarefa);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
List<EsquemaTramo> lsEsquemaTramoIter = new ArrayList<EsquemaTramo>();
|
||||||
|
List<ParadaEsquema> localidadeComVendaIter = new ArrayList<ParadaEsquema>();
|
||||||
|
localidadeComVendaIter.addAll(lsParadaEsquema);
|
||||||
|
for (ParadaEsquema paradaEsquemaComVenda : localidadeComVenda) {
|
||||||
|
List<ParadaEsquema> listParadaEsquemaComNovaParada = new ArrayList<ParadaEsquema>();
|
||||||
|
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
|
//Valida e apaga corrida caso exista
|
||||||
//TarefaGeracaoCorridaVO tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorrida(), dataIter);
|
TarefaGeracaoCorridaVO tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorrida(), dataIter);
|
||||||
//if(tarefaErro !=null) {
|
if(tarefaErro !=null) {
|
||||||
// tarefaErros.add(tarefaErro);
|
tarefaErros.add(tarefaErro);
|
||||||
// continue;
|
continue;
|
||||||
//}
|
}
|
||||||
|
|
||||||
//Valida e apaga corrida piso extra caso exista
|
//Valida e apaga corrida piso extra caso exista
|
||||||
//if(esquemaCorrida.getNumCorridaPisoExtra()!=null) {
|
if(esquemaCorrida.getNumCorridaPisoExtra()!=null) {
|
||||||
// tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorridaPisoExtra(), dataIter);
|
tarefaErro= validaApagaCorridaAgerar(esquemaCorrida.getNumCorridaPisoExtra(), dataIter);
|
||||||
// if(tarefaErro !=null) {
|
if(tarefaErro !=null) {
|
||||||
// tarefaErros.add(tarefaErro);
|
tarefaErros.add(tarefaErro);
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Gerar corrida novamente.
|
// Gerar corrida novamente.
|
||||||
//List<EsquemaCorrida> esquemaCorridaList = new ArrayList<EsquemaCorrida>();
|
List<EsquemaCorrida> esquemaCorridaList = new ArrayList<EsquemaCorrida>();
|
||||||
//esquemaCorridaList.add(esquemaCorrida);
|
esquemaCorridaList.add(esquemaCorrida);
|
||||||
//corridaService.generarCorrida(dataIter, esquemaCorridaList, false);
|
corridaService.generarCorrida(dataIter, esquemaCorridaList, false, corridaTramoList);
|
||||||
|
|
||||||
|
|
||||||
//String msgSucesso = "Corrida para a data " + DateUtil.getStringDate(dataIter) + " gerada com sucesso";
|
|
||||||
//TarefaGeracaoCorridaVO tarefa = new TarefaGeracaoCorridaVO(msgSucesso, "OK", "OK" );
|
|
||||||
//tarefaSucesso.add(tarefa);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1139,6 +1109,95 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<ParadaEsquema> preencheParadaEsquemaNovas() {
|
||||||
|
List<ParadaEsquema> lsParadaEsquemaAdicionado = new ArrayList<ParadaEsquema>();
|
||||||
|
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<ParadaEsquema>();
|
||||||
|
}
|
||||||
|
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<ParadaEsquema> lsParadaEsquemaRemovidas, List<ParadaEsquema> 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<ParadaEsquema>();
|
||||||
|
}
|
||||||
|
lsParadaEsquemaEditadas.add(paradaEsquemaEditada);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Se isParadaEsquemaNaoRemovida=false a parada esquema foi removida, adiciona na lista.
|
||||||
|
if(!isParadaEsquemaNaoRemovida) {
|
||||||
|
if(lsParadaEsquemaRemovidas == null) {
|
||||||
|
lsParadaEsquemaRemovidas = new ArrayList<ParadaEsquema>();
|
||||||
|
}
|
||||||
|
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) {
|
private TarefaGeracaoCorridaVO validaApagaCorridaAgerar(Integer corridaId, Date dataIter) {
|
||||||
|
|
||||||
//2 - Apagar corrida caso não exista venda
|
//2 - Apagar corrida caso não exista venda
|
||||||
|
@ -1153,30 +1212,21 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
apagarCorrida(corrida);
|
inativaCorridaETabelasRelacionadas(corrida);
|
||||||
}catch (DataIntegrityViolationException e) {
|
}catch (Exception e) {
|
||||||
if(e.getRootCause()!=null && e.getRootCause().getLocalizedMessage() !=null && e.getRootCause().getLocalizedMessage().contains("SYS_C004956867")) {
|
String msgErro = "Erro ao inativar corrida e tabelas relacionadas. Favor verificar ";
|
||||||
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);
|
log.error("Geração de corrida via Conf. " + msgErro, e);
|
||||||
return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
|
return new TarefaGeracaoCorridaVO(msgErro, "ERRO", "ERRO");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
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);
|
corridaInfoService.borrarByCorrida(corrida);
|
||||||
asientoExclusivoService.borrarByCorrida(corrida);
|
asientoExclusivoService.borrarByCorrida(corrida);
|
||||||
disponibilidadService.borrarByCorrida(corrida);
|
disponibilidadService.borrarByCorrida(corrida);
|
||||||
|
@ -1465,7 +1515,8 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
// Ruta Secuencia
|
// Ruta Secuencia
|
||||||
Parada paradaAlterada = (Parada) cmbTramo.getSelectedItem().getValue();
|
Parada paradaAlterada = (Parada) cmbTramo.getSelectedItem().getValue();
|
||||||
lsEsquemaTramo = adicionarParadaEsquemaTramo(lsParadaEsquema,paradaAlterada , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), plataforma, tipoPassagem);
|
List<ParadaEsquema> listParadaEsquemaComNovaParada = new ArrayList<ParadaEsquema>();
|
||||||
|
lsEsquemaTramo = adicionarParadaEsquemaTramo(lsParadaEsquema,paradaAlterada , esquemaCorrida, (Ruta) cmbRuta.getSelectedItem().getValue(), plataforma, tipoPassagem, listParadaEsquemaComNovaParada);
|
||||||
ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo();
|
ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo();
|
||||||
itemEditarCorridaTramo.setLsEsquemaTramoNova(lsEsquemaTramo);
|
itemEditarCorridaTramo.setLsEsquemaTramoNova(lsEsquemaTramo);
|
||||||
itemEditarCorridaTramo.setAdicionado(true);
|
itemEditarCorridaTramo.setAdicionado(true);
|
||||||
|
@ -1604,37 +1655,9 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
args.put("paradaEsquema", pe);
|
args.put("paradaEsquema", pe);
|
||||||
args.put("esquemaTramoList", esquemaTramoList);
|
args.put("esquemaTramoList", esquemaTramoList);
|
||||||
args.put("sequenciaSize", sequenciaSize);
|
args.put("sequenciaSize", sequenciaSize);
|
||||||
ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo();
|
|
||||||
args.put("itemEditarCorridaTramo", itemEditarCorridaTramo);
|
|
||||||
|
|
||||||
try {
|
openWindow("/gui/esquema_operacional/tiempoEstanciaTramo.zul",
|
||||||
|
Labels.getLabel("editarCatalogoDeRutaController.lhTiempoEstancia"), args, MODAL);
|
||||||
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<ItemEditarCorridaTramo>();
|
|
||||||
}
|
|
||||||
itemEditarCorridaTramoList.add(itemEditarCorridaTramo);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onChange$cmbRuta(Event ev) {
|
public void onChange$cmbRuta(Event ev) {
|
||||||
|
@ -1681,12 +1704,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
Messagebox.OK, Messagebox.EXCLAMATION);
|
Messagebox.OK, Messagebox.EXCLAMATION);
|
||||||
}
|
}
|
||||||
lsEsquemaTramo = generaEsquemaTramoCorrecto(lsParadaEsquema, esquemaCorrida);
|
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();
|
selecionarRutaSequenciaForaEsqCorrida();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -1754,12 +1771,12 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
private List<EsquemaTramo> adicionarParadaEsquemaTramo(
|
private List<EsquemaTramo> adicionarParadaEsquemaTramo(
|
||||||
List<ParadaEsquema> listParadaEsquema, Parada novaParada,
|
List<ParadaEsquema> listParadaEsquema, Parada novaParada,
|
||||||
EsquemaCorrida ec, Ruta ruta, String plataforma, String tipoPassagem) {
|
EsquemaCorrida ec, Ruta ruta, String plataforma, String tipoPassagem, List<ParadaEsquema> listParadaEsquemaComNovaParada) {
|
||||||
List<EsquemaTramo> result = new ArrayList<EsquemaTramo>();
|
List<EsquemaTramo> result = new ArrayList<EsquemaTramo>();
|
||||||
|
|
||||||
lsRutaSecuencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
|
lsRutaSecuencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
|
||||||
|
|
||||||
List<ParadaEsquema> listParadaEsquemaComNovaParada = new ArrayList<ParadaEsquema>();
|
|
||||||
|
|
||||||
|
|
||||||
Short secuencia = 0;
|
Short secuencia = 0;
|
||||||
|
@ -1769,7 +1786,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
// vez
|
// vez
|
||||||
Integer indiceSecuencia = null;
|
Integer indiceSecuencia = null;
|
||||||
for (int i = 0; i < lsRutaSecuencia.size(); i++) {
|
for (int i = 0; i < lsRutaSecuencia.size(); i++) {
|
||||||
ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo();
|
|
||||||
RutaSecuencia rutaSecuencia = lsRutaSecuencia.get(i);
|
RutaSecuencia rutaSecuencia = lsRutaSecuencia.get(i);
|
||||||
if (rutaSecuencia.getTramo().getOrigem().equals(novaParada)) {
|
if (rutaSecuencia.getTramo().getOrigem().equals(novaParada)) {
|
||||||
ParadaEsquema paradaEsquema = new ParadaEsquema();
|
ParadaEsquema paradaEsquema = new ParadaEsquema();
|
||||||
|
@ -1779,10 +1795,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
paradaEsquema.setParada(novaParada);
|
paradaEsquema.setParada(novaParada);
|
||||||
paradaEsquema.setPlataforma(plataforma);
|
paradaEsquema.setPlataforma(plataforma);
|
||||||
paradaEsquema.setTipoPassagem(tipoPassagem);
|
paradaEsquema.setTipoPassagem(tipoPassagem);
|
||||||
itemEditarCorridaTramo.setParadaId(novaParada.getParadaId());
|
|
||||||
itemEditarCorridaTramo.setDescParada(novaParada.getDescparada());
|
|
||||||
itemEditarCorridaTramo.setAdicionado(true);
|
|
||||||
itemEditarCorridaTramoList.add(itemEditarCorridaTramo);
|
|
||||||
listParadaEsquemaComNovaParada.add(paradaEsquema);
|
listParadaEsquemaComNovaParada.add(paradaEsquema);
|
||||||
nuevoAgregado = true;
|
nuevoAgregado = true;
|
||||||
indiceSecuencia = i;
|
indiceSecuencia = i;
|
||||||
|
@ -1798,7 +1810,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ItemEditarCorridaTramo itemEditarCorridaTramo = new ItemEditarCorridaTramo();
|
|
||||||
if (noExisteTramoAsociado) {
|
if (noExisteTramoAsociado) {
|
||||||
if (indiceSecuencia != null) {
|
if (indiceSecuencia != null) {
|
||||||
if ((lsRutaSecuencia.size() - 1) > indiceSecuencia) {
|
if ((lsRutaSecuencia.size() - 1) > indiceSecuencia) {
|
||||||
|
@ -1810,9 +1822,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
|
||||||
paradaEsquema.setParada(rutaSecuencia.getTramo().getDestino());
|
paradaEsquema.setParada(rutaSecuencia.getTramo().getDestino());
|
||||||
paradaEsquema.setPlataforma(plataforma);
|
paradaEsquema.setPlataforma(plataforma);
|
||||||
listParadaEsquemaComNovaParada.add(paradaEsquema);
|
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);
|
paradaEsquema.setTipoPassagem(tipoPassagem);
|
||||||
|
|
||||||
listParadaEsquemaComNovaParada.add(paradaEsquema);
|
listParadaEsquemaComNovaParada.add(paradaEsquema);
|
||||||
itemEditarCorridaTramo.setParadaId(novaParada.getParadaId());
|
|
||||||
itemEditarCorridaTramo.setAdicionado(true);
|
|
||||||
itemEditarCorridaTramoList.add(itemEditarCorridaTramo);
|
|
||||||
}
|
}
|
||||||
if (!listParadaEsquema.isEmpty()) {
|
if (!listParadaEsquema.isEmpty()) {
|
||||||
secuencia++;
|
secuencia++;
|
||||||
|
|
Loading…
Reference in New Issue