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 @@
-
-
-