eduardo.dicarde 2016-09-22 20:10:14 +00:00
parent baad158fce
commit 20d283efaa
1 changed files with 49 additions and 18 deletions

View File

@ -42,6 +42,8 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
private String localidadeDestino;
private MyListbox casetaPeajeList;
private List<CasetaPeaje> lsCasetaPeaje;
private List<CasetaPeaje> lsSequenciasRemovidas;
private List<CasetaPeaje> lsSequenciasIncluidas;
private List<RutaSecuencia> lsRutaSecuencia;
@ -75,6 +77,8 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
// lsCasetaPeaje = new ArrayList<CasetaPeaje>();
lsTodasCasetasPeaje = casetaPeajeService.buscarTodosOrdenadoPorDescricao();
lsSequenciasRemovidas = new ArrayList<CasetaPeaje>();
lsSequenciasIncluidas = new ArrayList<CasetaPeaje>();
}
@ -163,39 +167,47 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
@SuppressWarnings({ "unchecked", "rawtypes" })
public void onClick$btnAdicionarCasetaPeaje(Event ev) throws InterruptedException {
CasetaPeaje cas = (CasetaPeaje) cmbTodasCasetasPeaje.getSelectedItem().getValue();
lsCasetaPeaje.add(cas);
lsSequenciasIncluidas.add(cas);
// CasetaPeaje caseta = new CasetaPeaje();
// caseta.setCasetaPeajeId(1);
// caseta.setDesccaseta("descricao");
// caseta.setImporteIda(BigDecimal.valueOf(10));
// caseta.setImporteVuelta(BigDecimal.valueOf(11));
// lsCasetaPeaje.add(caseta);
casetaPeajeList.setData(lsCasetaPeaje);
casetaPeajeList.setData(lsSequenciasIncluidas);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void onClick$btnRemoverCasetaPeaje(Event ev) throws InterruptedException {
CasetaPeaje cas = (CasetaPeaje)casetaPeajeList.getSelected();
lsCasetaPeaje.remove(cas);
casetaPeajeList.setData(lsCasetaPeaje);
lsSequenciasRemovidas.add(cas);
lsSequenciasIncluidas.remove(cas);
casetaPeajeList.removeSelectedItem();
}
public void onClick$btnSalvar(Event ev) throws InterruptedException {
List<RutaCaseta> lsrc = new ArrayList<RutaCaseta>() ;
for(int i = 0 ; i < lsCasetaPeaje.size() ; i ++){
for(int i = 0 ; i < lsSequenciasIncluidas.size() ; i ++){
RutaCaseta rc = new RutaCaseta();
RutaSecuencia rutaSecue = lsRutaSecuencia.get(paradaSeqOrigen.getSecuencia()-1);
rc.setRutaSecuencia(rutaSecue);
rc.setCasetaPeaje(lsCasetaPeaje.get(i));
rc.setCasetaPeaje(lsSequenciasIncluidas.get(i));
lsrc.add(rc);
}
try {
rutaCasetaService.deletarRutaCasetasFromRutaSecuenciaId(lsRutaSecuencia.get(paradaSeqOrigen.getSecuencia()-1).getRutasecuenciaId());
} catch (BusinessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
for (CasetaPeaje casetaPeaje: lsSequenciasRemovidas){
try {
RutaSecuencia rutaSecuencia = casetaPeaje.getLsRutaSecuencia().get(paradaSeqOrigen.getSecuencia()-1);
rutaCasetaService.deletarRutaCasetasFromRutaSecuenciaId(rutaSecuencia.getRutasecuenciaId());
} catch (BusinessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return;
}
}
RutaSecuencia rutaSecue = lsRutaSecuencia.get(paradaSeqOrigen.getSecuencia()-1);
@ -223,11 +235,17 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
for (int i = 0; i < lsRutaSecuencia.size(); i++) {
RutaSecuencia rs = lsRutaSecuencia.get(i);
Tramo tramo = rs.getTramo();
Via via = tramo.getVia();
List<RutaCaseta> lcas = rs.getLsRutaCase();
Short numsecuencia = ++numSecuencia;
Via via = tramo.getVia();
Parada paradaOrigem = tramo.getOrigem();
addTramoPardaSecuencia(paradaOrigem, via, numsecuencia, lsrc, getTempo(tramo.getTramoServicioList(), rs.getRuta()),tramo.getKmReal().toPlainString());
if (paradaSeqOrigen.getSecuencia() == numsecuencia && !lsSequenciasRemovidas.isEmpty()){
removerRutaCaseta(lcas);
}
addTramoPardaSecuencia(paradaOrigem, via, numsecuencia, lcas, getTempo(tramo.getTramoServicioList(), rs.getRuta()),tramo.getKmReal().toPlainString());
if (i == lsRutaSecuencia.size() - 1) {
@ -291,18 +309,16 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
}
private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia, List<RutaCaseta> lCas, String tempo, String km) {
if(!lCas.isEmpty()) {
ParadaSecuencia paradaSecuencia = new ParadaSecuencia();
paradaSecuencia.setParada(parada);
paradaSecuencia.setSecuencia(numsecuencia);
paradaSecuencia.setVia(via);
paradaSecuencia.setCasetas(lCas);
if (!lCas.isEmpty()){
paradaSecuencia.setCasetas(lCas);
}
paradaSecuencia.setKmReal(km);
paradaSecuencia.setTempoReal(tempo);
lsParadasSequencia.add(paradaSecuencia);
} else {
addTramoPardaSecuencia(parada, via, numsecuencia);
}
}
private String getTempo(List<TramoServicio> lsTramoServicio, Ruta rutaTempo) {
@ -324,4 +340,19 @@ public class EditarSecuenciaController extends MyGenericForwardComposer{
return "";
}
private void removerRutaCaseta(List<RutaCaseta> lsRutaCaseta){
List<RutaCaseta> rutaCasetasRemovidas = new ArrayList<RutaCaseta>();
for (CasetaPeaje casetaPaje: lsSequenciasRemovidas){
for (RutaCaseta rutaCaseta: lsRutaCaseta){
if (rutaCaseta.getCasetaPeaje().getCasetaPeajeId() == casetaPaje.getCasetaPeajeId()){
rutaCasetasRemovidas.add(rutaCaseta);
break;
}
}
}
lsRutaCaseta.removeAll(rutaCasetasRemovidas);
}
}