diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarTramosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarTramosController.java index 2cfb10d5a..28b4cd421 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarTramosController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarTramosController.java @@ -36,12 +36,12 @@ import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; -import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.TramoKm; import com.rjconsultores.ventaboletos.entidad.TramoServicio; import com.rjconsultores.ventaboletos.entidad.TramoTiempo; import com.rjconsultores.ventaboletos.entidad.Via; +import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.CoeficienteTarifaService; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -70,7 +70,10 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderTramoTiempo; @Scope("prototype") public class EditarTramosController extends MyGenericForwardComposer { + private static Logger log = Logger.getLogger(EditarTramosController.class); + private static final long serialVersionUID = 1L; + @Autowired private TramoService tramoService; @Autowired @@ -135,7 +138,8 @@ public class EditarTramosController extends MyGenericForwardComposer { private Button btnApagar; private ConstraintNumberBD constraintTarifa; private Tab tabExcepcionesKm; - private static Logger log = Logger.getLogger(EditarTramosController.class); + + private boolean existeRutaOcupaTramo; public Tramo getTramo() { return tramo; @@ -219,6 +223,7 @@ public class EditarTramosController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { + existeRutaOcupaTramo = false; lsVias = viaService.obtenerTodos(); lsEmpresa = empresaService.obtenerTodos(); lsClaseServicio = claseServicioService.buscarTodosExceto(-1); @@ -239,6 +244,7 @@ public class EditarTramosController extends MyGenericForwardComposer { tramo = (Tramo) Executions.getCurrent().getArg().get("tramo"); if (tramo.getTramoId() != null) { + existeRutaOcupaTramo = rutaCombinacionService.existeTramo(tramo); tramo = tramoService.obtenerID(tramo.getTramoId()); for (TramoServicio ta : tramo.getTramoServicioList()) { @@ -513,8 +519,7 @@ public class EditarTramosController extends MyGenericForwardComposer { cmbParadaDestino.getValue(true); if (listaTramoServicio.isEmpty()) { - Messagebox.show(Labels.getLabel("editarTramosController.MSG.obligatorioTramoTiempo"), - Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, + Messagebox.show(Labels.getLabel("editarTramosController.MSG.obligatorioTramoTiempo"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.INFORMATION); return; @@ -522,70 +527,21 @@ public class EditarTramosController extends MyGenericForwardComposer { try { tramo.setLsOrgaoTramo(lsOrgamoTramo); - - tramo.setActivo(Boolean.TRUE); - tramo.setFecmodif(Calendar.getInstance().getTime()); - tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - - Parada origem = tramo.getOrigem(); - Parada destino = tramo.getDestino(); - tramo.setVia((Via) cmbVia.getSelectedItem().getValue()); tramo.setLsTramoTiempo(listaTramosTiempo); tramo.setTramoServicioList(listaTramoServicio); tramo.setTramoKms(listaTramosKm); + + tramo = tramoService.suscribirActualizar(tramo); + tramosList.updateItem(tramo); + + Messagebox.show(Labels.getLabel("editarTramosController.MSG.suscribirOK"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, + Messagebox.INFORMATION); - if (!origem.getParadaId().equals(destino.getParadaId())) { - Tramo tramoConsulta = tramoService.buscar(tramo.getOrigem(), tramo.getDestino(), tramo.getVia()); + closeWindow(); - boolean podeSalvar = false; - if (tramoConsulta == null) { - podeSalvar = true; - } else { - if (tramoConsulta.getTramoId().equals(tramo.getTramoId())) { - podeSalvar = true; - } - } - if (podeSalvar) { - if (tramo.getTramoId() == null) { - - tramoService.suscribir(tramo); - tramosList.addItem(tramo); - - Messagebox.show(Labels.getLabel("editarTramosController.MSG.suscribirOK"), - Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, - Messagebox.INFORMATION); - - closeWindow(); - - } else { - tramoService.actualizacion(tramo); - tramosList.updateItem(tramo); - - Messagebox.show(Labels.getLabel("editarTramosController.MSG.suscribirOK"), - Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, - Messagebox.INFORMATION); - - closeWindow(); - } - } else { - Messagebox.show(Labels.getLabel("MSG.Registro.Existe.Origem.Destino.Via"), - Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, - Messagebox.EXCLAMATION); - } - } else { - Messagebox.show(Labels.getLabel("editarTramosController.MSG.OrigemDestinoIguais"), - Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, - Messagebox.EXCLAMATION); - } - } catch (Exception ex) { - if (ex instanceof WrongValueException) { - throw (WrongValueException) ex; - } - - log.error(ex); - Messagebox.show(Labels.getLabel("MSG.Error"), Labels.getLabel("editarTramosController.window.title"), - Messagebox.OK, Messagebox.ERROR); + } catch (BusinessException ex) { + Messagebox.show(ex.getLocalizedMessage(), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.ERROR); } } @@ -655,80 +611,76 @@ public class EditarTramosController extends MyGenericForwardComposer { if (cbiCoeficiente3 != null) { coeficienteTarifa3 = (CoeficienteTarifa) cbiCoeficiente3.getValue(); } - + Comboitem cbiOrgaoConcedente = cmbOrgaoConcedente.getSelectedItem(); final OrgaoConcedente orgaoConcedente; if (cbiOrgaoConcedente == null) { Messagebox.show(Labels.getLabel("editarTramosController.msg.orgaoObligatorio"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.INFORMATION); - + return; } - + Comboitem cbiClaseServicio = cmbClaseServicioCoeficiente.getSelectedItem(); final ClaseServicio claseServicio; if (cbiClaseServicio == null) { Messagebox.show(Labels.getLabel("editarTramosController.msg.tipoClaseObligatorio"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.INFORMATION); - + return; } orgaoConcedente = (OrgaoConcedente) cbiOrgaoConcedente.getValue(); claseServicio = (ClaseServicio) cbiClaseServicio.getValue(); - Integer kmCoeficiente1 = txtKMCoeficiente1.getValue(); Integer kmCoeficiente2 = txtKMCoeficiente2.getValue(); Integer kmCoeficiente3 = txtKMCoeficiente3.getValue(); - - - - if ( (coeficienteTarifa1 == null) && (kmCoeficiente1 == null)){ - + + if ((coeficienteTarifa1 == null) && (kmCoeficiente1 == null)) { + Messagebox.show(Labels.getLabel("editarTramosController.msg.coeficiente1Obligatorio"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } - - if ( ((coeficienteTarifa1 != null) && (kmCoeficiente1 == null)) || ((coeficienteTarifa1 == null) && (kmCoeficiente1 != null))){ - + + if (((coeficienteTarifa1 != null) && (kmCoeficiente1 == null)) || ((coeficienteTarifa1 == null) && (kmCoeficiente1 != null))) { + Messagebox.show(Labels.getLabel("editarTramosController.msg.coeficiente1ObligatorioDados"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } - if ( ((coeficienteTarifa2 != null) && (kmCoeficiente2 == null)) || ((coeficienteTarifa2 == null) && (kmCoeficiente2 != null))){ - + if (((coeficienteTarifa2 != null) && (kmCoeficiente2 == null)) || ((coeficienteTarifa2 == null) && (kmCoeficiente2 != null))) { + Messagebox.show(Labels.getLabel("editarTramosController.msg.coeficiente2ObligatorioDados"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } - if ( ((coeficienteTarifa3 != null) && (kmCoeficiente3 == null)) || ((coeficienteTarifa3 == null) && (kmCoeficiente3 != null))){ - + if (((coeficienteTarifa3 != null) && (kmCoeficiente3 == null)) || ((coeficienteTarifa3 == null) && (kmCoeficiente3 != null))) { + Messagebox.show(Labels.getLabel("editarTramosController.msg.coeficiente3ObligatorioDados"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } boolean orgaoClaseJahInformado = CollectionUtils.exists(lsOrgamoTramo, new Predicate() { - + @Override public boolean evaluate(Object obj) { - OrgaoTramo ot = (OrgaoTramo)obj; - return (ot.getActivo() && ot.getOrgaoConcedente().equals(orgaoConcedente) && ot.getClaseServicio().equals(claseServicio) ); + OrgaoTramo ot = (OrgaoTramo) obj; + return (ot.getActivo() && ot.getOrgaoConcedente().equals(orgaoConcedente) && ot.getClaseServicio().equals(claseServicio)); } }); - - - if (orgaoClaseJahInformado){ + + if (orgaoClaseJahInformado) { Messagebox.show(Labels.getLabel("editarTramosController.msg.orgaoJahInformado"), Labels.getLabel("editarTramosController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - + return; } - + OrgaoTramo orgaoTramo = new OrgaoTramo(); orgaoTramo.setCoeficienteTarifa1(coeficienteTarifa1); orgaoTramo.setCoeficienteTarifa2(coeficienteTarifa2); @@ -756,4 +708,9 @@ public class EditarTramosController extends MyGenericForwardComposer { txtKMCoeficiente2.setValue(null); txtKMCoeficiente3.setValue(null); } + + public boolean isExisteRutaOcupaTramo() { + return existeRutaOcupaTramo; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/TarifaEscalaContorller.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/TarifaEscalaContorller.java index ea0fe8d5b..bd6f947c9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/TarifaEscalaContorller.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/TarifaEscalaContorller.java @@ -402,7 +402,7 @@ public class TarifaEscalaContorller extends MyGenericForwardComposer { log.debug("Inicio carga de combiaciones"); for (RutaCombinacion rc : lsRutaCombinacion) { Tramo tramo = rc.getTramo(); - Tarifa tarifa = tarifaService.buscar(tramo, marca, claseServicio, vigenciaTarifa, moneda); + Tarifa tarifa = tarifaService.buscar(tramo, marca, claseServicio, vigenciaTarifa, moneda, null); if (tarifa == null) { tarifa = new Tarifa(); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java index 2fe87d0b1..de1118117 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxParada.java @@ -112,14 +112,19 @@ public class MyComboboxParada extends Combobox { this.setText(initialValue.getDescparada()); } - public void getValue(boolean checaBusqueda) throws WrongValueException { + /** + * + * @param checaBusqueda + * @throws WrongValueException + */ + public String getValue(boolean checaBusqueda) throws WrongValueException { if (checaBusqueda) { if (this.getSelectedItem() == null) { throw new WrongValueException(this, Labels.getLabel("MSG.Error.combobox.hacerBusqueda")); } - } else { - super.getValue(); } + + return super.getValue(); } public boolean isSinTodos() { diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 314c61629..ded796eae 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3788,3 +3788,10 @@ configLayoutImpressaoBoletoController.layout.label = Layout configLayoutImpressaoBoletoController.campo.label = Campo configLayoutImpressaoBoletoController.coluna.label = Coluna configLayoutImpressaoBoletoController.linha.label = Linha + +#TramoService +tramoServiceImpl.msg.validacionVia=A via não pode ser alterada +TramoServiceImpl.msg.validacionOrigen=A origem do trecho não pode ser alterada +TramoServiceImpl.msg.validacionDestino=O destino do trecho não pode ser alterado +TramoServiceImpl.msg.validacionTramoServicio=Não pode ser apagado o Tempo Geral de um Tipo de Classe que é usado em uma ruta +TramoServiceImpl.msg.validacionTramoTiempo=Não pode ser apagado a Exceção de Tempo de um Tipo de Classe que é usado em uma ruta \ No newline at end of file diff --git a/web/gui/esquema_operacional/editarTramos.zul b/web/gui/esquema_operacional/editarTramos.zul index ea3210ca2..f4a9e8f42 100644 --- a/web/gui/esquema_operacional/editarTramos.zul +++ b/web/gui/esquema_operacional/editarTramos.zul @@ -38,17 +38,17 @@