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.addAll(rutasAux);
@ -790,20 +796,20 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
List<Parada> tramosAux = new ArrayList<Parada>();
if(confRestricaoCanalVenta.getLsConfRestricaoRutas() != null) {
for(ConfRestricaoRutas confOrgao : confRestricaoCanalVenta.getLsConfRestricaoRutas()) {
//Se estiver escolhido todas as linhas busca todos os trechos dos Orgaos concedentes
if(existeRutaTodos(confRestricaoCanalVenta.getLsConfRestricaoRutas())) {
List<RutaSecuencia> rutasSequencia = rutaSecuenciaService.buscarSecuenciaOrdenado(confOrgao.getRuta());
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());
}
for(Ruta ruta : lsRutasOrgaoConcedente) {
buscarTrechos(tramosAux, ruta);
}
} else {
for(ConfRestricaoRutas confOrgao : confRestricaoCanalVenta.getLsConfRestricaoRutas()) {
buscarTrechos(tramosAux, confOrgao.getRuta());
}
}
}
lsParadaOC = new ArrayList<Parada>();
@ -818,6 +824,35 @@ public class EditarConfRestricaoCanalVentaController extends MyGenericForwardCom
log.error("Erro ao buscar trechos por linha: ", e);
}
}
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 {

View File

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