diff --git a/pom.xml b/pom.xml index 7be14740c..5ab99fc40 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,11 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.8.1 + 1.8.2 war - 1.6.1 + 1.6.2 1.5.0 UTF-8 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java index afb4b7fca..a730edfcd 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java @@ -54,6 +54,7 @@ import com.rjconsultores.ventaboletos.service.ConexionService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService; import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO; @@ -425,17 +426,9 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { adicionaLocalidadesExcluidas(); removeLocalidadesExcluidas(); + //Atualizar o indPricing alterado pela tabela - localidades: for(ConexionCtrl conCtrl : conexoesCtrl) { - for(ParadaVOConexionRuta loc : localidadesGeradas ) { - if(isMesmaConexao(loc, conCtrl)) { - conCtrl.setIndPricing(loc.getConexionCtrl().getIndPricing()); - continue localidades; - } - } - } - - conexionCtrlService.suscribirTodos(conexoesCtrl); + atualizarIndPricing(); List conexionDescontos = new ArrayList<>(); @@ -468,30 +461,40 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { closeWindow(); } - - private boolean isMesmaConexao(ParadaVOConexionRuta loc, ConexionCtrl conCtrl) { + + private void atualizarIndPricing() { + List conexoesVerificadas = new ArrayList<>(); - if(conCtrl.getConexionctrlId() != null && conCtrl.getConexionctrlId().equals(loc.getConexionCtrl().getConexionctrlId())) { - return true; - } - - List conec = conexionService.buscarPorConexionCtrl(conCtrl.getConexionctrlId()); - - for(Conexion con : conec) { - if (isMesmaConexao(loc, con)){ - return true; + localidades: for(ConexionCtrl conCtrl : conexoesCtrl) { + + //Para evitar que registros antigos deem problema no banco de dados ao salvar + if(conexoesVerificadas.contains(conCtrl.getConexionctrlId())) { + continue localidades; + } else { + conexoesVerificadas.add(conCtrl.getConexionctrlId()); + } + + for(ParadaVOConexionRuta loc : localidadesGeradas ) { + + if(isMesmaConexao(loc, conCtrl)) { + //So atualizar quando os valores forem alterados + if(!conCtrl.getIndPricing().equals(loc.getConexionCtrl().getIndPricing())) { + conCtrl.setIndPricing(loc.getConexionCtrl().getIndPricing()); + conCtrl.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + conCtrl.setFecmodif(Calendar.getInstance().getTime()); + conCtrl.setActivo(true); + + conexionCtrlService.actualizacion(conCtrl); + } + + continue localidades; + } } } - - return false; } - - private boolean isMesmaConexao(ParadaVOConexionRuta loc, Conexion con) { - return loc.getRutaId() == con.getRutaId() && - loc.getGrupo() == con.getNumgrupo() && - loc.getSecuencia() == con.getNumsecuencia() && - loc.getParadaOrigemTrecho().getParadaId() == con.getOrigenId() && - loc.getParadaDestinoTrecho().getParadaId() == con.getDestinoId(); + + private boolean isMesmaConexao(ParadaVOConexionRuta loc, ConexionCtrl conCtrl) { + return conCtrl.getConexionctrlId() != null && loc.getConexionCtrl().getConexionctrlId() != null && conCtrl.getConexionctrlId().equals(loc.getConexionCtrl().getConexionctrlId()); } private void desativarDescontosAnteriores(List conexionDescontos) {