0020706: GLPI 30010 - ESPEC MULTIPORTAIS - Bloqueio de trecho por canais de venda

bug#20706
dev:
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@103858 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2020-10-19 23:56:43 +00:00
parent c3bc0d9a0e
commit ab52a8e458
2 changed files with 47 additions and 14 deletions

View File

@ -775,6 +775,12 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
} }
} }
Ruta rutaTodos = rutaService.obtenerID(-1);
if(!rutasAux.isEmpty() && !rutasAux.contains(rutaTodos)) {
rutasAux.add(rutaTodos);
}
lsRutasOrgaoConcedente = new ArrayList<Ruta>(); lsRutasOrgaoConcedente = new ArrayList<Ruta>();
lsRutasOrgaoConcedente.addAll(rutasAux); lsRutasOrgaoConcedente.addAll(rutasAux);
@ -790,20 +796,20 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
List<Parada> tramosAux = new ArrayList<Parada>(); List<Parada> tramosAux = new ArrayList<Parada>();
if(confRestricaoCanalVenta.getLsConfRestricaoRutas() != null) { if(confRestricaoCanalVenta.getLsConfRestricaoRutas() != null) {
for(ConfRestricaoRutas confOrgao : confRestricaoCanalVenta.getLsConfRestricaoRutas()) {
List<RutaSecuencia> rutasSequencia = rutaSecuenciaService.buscarSecuenciaOrdenado(confOrgao.getRuta()); //Se estiver escolhido todas as linhas busca todos os trechos dos Orgaos concedentes
if(existeRutaTodos(confRestricaoCanalVenta.getLsConfRestricaoRutas())) {
for(RutaSecuencia rt : rutasSequencia ) { for(Ruta ruta : lsRutasOrgaoConcedente) {
if(!tramosAux.contains(rt.getTramo().getOrigem())) { buscarTrechos(tramosAux, ruta);
tramosAux.add(rt.getTramo().getOrigem()); }
}
if(!tramosAux.contains(rt.getTramo().getDestino())) { } else {
tramosAux.add(rt.getTramo().getDestino()); for(ConfRestricaoRutas confOrgao : confRestricaoCanalVenta.getLsConfRestricaoRutas()) {
} buscarTrechos(tramosAux, confOrgao.getRuta());
} }
} }
} }
lsParadaOC = new ArrayList<Parada>(); lsParadaOC = new ArrayList<Parada>();
@ -819,6 +825,35 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
} }
} }
private boolean existeRutaTodos(List<ConfRestricaoRutas> lsConfRestricaoRutas) {
try {
Ruta rutaTodos = rutaService.obtenerID(-1);
for(ConfRestricaoRutas conf : lsConfRestricaoRutas) {
if(rutaTodos.equals(conf.getRuta())) {
return true;
}
}
} catch (Exception e) {
log.error("Erro ao buscar ruta todos", e);
}
return false;
}
private void buscarTrechos(List<Parada> tramosAux, Ruta ruta) {
List<RutaSecuencia> rutasSequencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
for(RutaSecuencia rt : rutasSequencia ) {
if(!tramosAux.contains(rt.getTramo().getOrigem())) {
tramosAux.add(rt.getTramo().getOrigem());
}
if(!tramosAux.contains(rt.getTramo().getDestino())) {
tramosAux.add(rt.getTramo().getDestino());
}
}
}
public void onClick$btnAddRuta(Event ev) throws InterruptedException { public void onClick$btnAddRuta(Event ev) throws InterruptedException {
if (cmbExcecaoRutas.getSelectedItem() != null) { if (cmbExcecaoRutas.getSelectedItem() != null) {

View File

@ -11,9 +11,7 @@ public class RenderConfRestRuta implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception { public void render(Listitem lstm, Object o) throws Exception {
ConfRestricaoRutas confOrgao = (ConfRestricaoRutas) o; ConfRestricaoRutas confOrgao = (ConfRestricaoRutas) o;
Listcell lc = new Listcell(confOrgao.getRuta() == null ?" - " : confOrgao.getRuta().getDescruta()); Listcell lc = new Listcell(confOrgao.getRuta() == null ?" - " : confOrgao.getRuta().toString());
lc.setParent(lstm);
lc.setParent(lstm); lc.setParent(lstm);
lstm.setAttribute("data", confOrgao); lstm.setAttribute("data", confOrgao);