diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java index 251b93fdd..5bf187ac6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java @@ -167,6 +167,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private Window winEditarRuta; private List sequenciasInformadas; private Button btnCancelarRetomar; + private Boolean claseAlterada = Boolean.FALSE; List lsRutacComb; List lsRutaSec; @@ -527,17 +528,23 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer @SuppressWarnings({ "unchecked", "rawtypes" }) public void onClick$btnAdicionarSecuencia(Event ev) throws InterruptedException { - cmbVia.getValue(); try { // Para uma ruta já existente, só é possí­vel adicionar paradas // entre a origem inicial e destino final. - if (ruta.getRutaId() != null) { - if ((numSecuencia.getValue() == 1) || (numSecuencia.getValue() > lsParadasSequencia.size())) { + + if (ruta.getRutaId() == null && ruta.getIsClone()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.IncluirSequenciaRutaCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (ruta.getRutaId() != null && ((numSecuencia.getValue() == 1) || (numSecuencia.getValue() > lsParadasSequencia.size()))) { Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.cambioSecuencia"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); return; - } } cmbParada.getSelectedItem(); Parada parada = (Parada) cmbParada.getSelectedItem().getValue(); @@ -625,7 +632,14 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer try { ParadaSecuencia paradaSecuencia = (ParadaSecuencia) rutaSecuenciaList.getSelected(); if (paradaSecuencia != null) { - + if (ruta.getRutaId() == null && ruta.getIsClone()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.ExcluirSequenciaRutaCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + if (ruta.getRutaId() != null) { List lsEsquemas = esquemaCorridaService.existe(ruta, paradaSecuencia.getParada().getParadaId()); if (!lsEsquemas.isEmpty()) { @@ -679,6 +693,15 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void onClick$btnAdicionarEmpresaRuta(Event ev) { try { + if (ruta.getRutaId() == null && ruta.getIsClone()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.IncluirEmpresaRutaCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem(); if (cbiEmpresa != null) { @@ -717,7 +740,15 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer } } - public void onClick$btnRemoverEmpresaRuta(Event ev) { + public void onClick$btnRemoverEmpresaRuta(Event ev) throws InterruptedException { + if (ruta.getRutaId() == null && ruta.getIsClone()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.ExcluirEmpresaRutaCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + RutaEmpresa rutaEmpresa = (RutaEmpresa) rutaEmpresaList.getSelected(); if (rutaEmpresa != null) { rutaEmpresa.setActivo(Boolean.FALSE); @@ -783,6 +814,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.linhaDesativada")); return; } + salvarRuta(Labels.getLabel("editarCatalogoDeRutaController.MSG.suscribirOK") .concat(" ID: " + ((ruta.getRutaId() == null) ? "" : ruta.getRutaId().toString()))); } @@ -870,34 +902,21 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer if (ruta.getRutaId() == null) { - ruta = rutaService.suscribir(ruta, lsParadasSequencia); -// rutaList.addItem(ruta); - rutaList.addItemNovo(ruta); - - Messagebox.show(Labels.getLabel( - "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " - + ruta.getRutaId().toString()), - Labels.getLabel("editarCatalogoDeRutaController.window.title"), - Messagebox.OK, - Messagebox.INFORMATION); - - closeWindow(); - + if (ruta.getIsClone() != null && claseAlterada) { + gerarCombinacaoTramoRuta(ruta, lsParadasSequencia); + claseAlterada = Boolean.FALSE; + } else { + salvarRuta(); + } } else { // Gera Secuencia e Combinação Novamente se houve // modificação na Secuencia. - if (secuenciaFoiAlterada) { + if (secuenciaFoiAlterada || claseAlterada) { gerarCombinacaoTramoRuta(ruta, lsParadasSequencia); + claseAlterada = Boolean.FALSE; } else { - ruta = rutaService.actualizacion(ruta, null); - rutaList.updateItem(ruta); - - Messagebox.show(msgRutaSalva, - Labels.getLabel("editarCatalogoDeRutaController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - - closeWindow(); + atualizarRuta(msgRutaSalva); } } } @@ -1140,6 +1159,10 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer Messagebox.OK, Messagebox.INFORMATION); } } + + public void onChange$cmbClase(Event ev) throws CloneNotSupportedException, InterruptedException { + claseAlterada = (cmbClase.getSelectedItem().getValue() != null && (ruta.getRutaId() != null || ruta.getIsClone() != null)) ? Boolean.TRUE : Boolean.FALSE; + } private void gerarCombinacaoTramoRuta(Ruta ruta, List sequencias) throws BusinessException, InterruptedException { List sequenciasAGerar = rutaService.verificarSeqRutaNaoGerada(ruta, sequencias); @@ -1169,23 +1192,19 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer params.put("rutaTramoVO", rutaTramoVO); params.put("winEditarRuta", winEditarRuta); params.put("ruta", ruta); + params.put("rutaClone", ruta); + params.put("clase", (ClaseServicio)cmbClase.getSelectedItem().getValue()); params.put("rutaList", rutaList); params.put("lsSequencias", sequencias); this.openWindow("/gui/esquema_operacional/generacion_tramo_ruta/gerarCombinacionTramoRuta.zul", Labels.getLabel("gerarCombinacionTramoRutaController.window.title"), params, MODAL); + } else if (ruta.getRutaId() == null){ + salvarRuta(); } else { - ruta = rutaService.actualizacion(ruta, sequencias); - rutaList.updateItem(ruta); - - Messagebox.show(Labels.getLabel( - "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " - + ruta.getRutaId().toString()), - Labels.getLabel("editarCatalogoDeRutaController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - - this.closeWindow(); + atualizarRuta(Labels.getLabel("editarCatalogoDeRutaController.MSG.suscribirOK") + .concat(" ID: " + ((ruta.getRutaId() == null) ? "" : ruta.getRutaId().toString()))); } } @@ -1284,5 +1303,31 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void setLsGrupoRuta(List lsGrupoRuta) { this.lsGrupoRuta = lsGrupoRuta; } + + private void salvarRuta() throws BusinessException, InterruptedException { + ruta = rutaService.suscribir(ruta, lsParadasSequencia); + //rutaList.addItem(ruta); + rutaList.addItemNovo(ruta); + + Messagebox.show(Labels.getLabel( + "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " + + ruta.getRutaId().toString()), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, + Messagebox.INFORMATION); + + closeWindow(); + } + + private void atualizarRuta(String msgRutaSalva) throws BusinessException, InterruptedException { + ruta = rutaService.actualizacion(ruta, null); + rutaList.updateItem(ruta); + + Messagebox.show(msgRutaSalva, + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/GerarCombinacionTramoRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/GerarCombinacionTramoRutaController.java index 23ccf11b2..abc3fe079 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/GerarCombinacionTramoRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/GerarCombinacionTramoRutaController.java @@ -13,6 +13,7 @@ import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Window; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ParadaSecuencia; import com.rjconsultores.ventaboletos.entidad.ParadaSecuenciaCombinacaoLinha; import com.rjconsultores.ventaboletos.entidad.Ruta; @@ -42,22 +43,26 @@ public class GerarCombinacionTramoRutaController extends MyGenericForwardCompose private CoeficienteTarifaService coeficienteTarifaService; private RutaTramoVO rutaTramoIdaVO; private Ruta ruta; + private Ruta rutaClone; private MyListbox rutaList; private List lsSequencias; private GridCombinacionTramoRutaCoeficiente gridRutaSecuenciaIda; private Window winEditarRuta; + private ClaseServicio clase; @SuppressWarnings("unchecked") @Override public void doAfterCompose(Component comp) throws Exception { rutaTramoIdaVO = (RutaTramoVO) Executions.getCurrent().getArg().get("rutaTramoVO"); - ruta = (Ruta)Executions.getCurrent().getArg().get("ruta"); - rutaList = (MyListbox)Executions.getCurrent().getArg().get("rutaList"); - lsSequencias = (List)Executions.getCurrent().getArg().get("lsSequencias"); + ruta = (Ruta) Executions.getCurrent().getArg().get("ruta"); + rutaClone = (Ruta) Executions.getCurrent().getArg().get("rutaClone"); + clase = (ClaseServicio) Executions.getCurrent().getArg().get("clase"); + rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList"); + lsSequencias = (List) Executions.getCurrent().getArg().get("lsSequencias"); winEditarRuta = (Window) Executions.getCurrent().getArg().get("winEditarRuta"); super.doAfterCompose(comp); List listaSecuenciaRutaTramoCoeficiente = tramoRutaService.generarCombinacionTrechoRuta(rutaTramoIdaVO); - + if (rutaTramoIdaVO.getCoeficienteDefaul1() != null || rutaTramoIdaVO.getCoeficienteDefaul2() != null) { for (SecuenciaRutaTramoCoeficienteVO sv : listaSecuenciaRutaTramoCoeficiente) { sv.setCoeficienteTarifa1(rutaTramoIdaVO.getCoeficienteDefaul1()); @@ -77,32 +82,41 @@ public class GerarCombinacionTramoRutaController extends MyGenericForwardCompose rutaTramoIdaVO.setLsSecuenciaRutaTramoVO(popularSequencia()); try { - tramoRutaService.generarTramosRutaExistente(rutaTramoIdaVO, ruta); - - List secuencias = new ArrayList(); - - for (ParadaSecuenciaCombinacaoLinha paradaSecuenciaCombinacaoLinha: rutaTramoIdaVO.getLsParadaSecuenciaCombinacaoLinhas()){ - secuencias.add(paradaSecuenciaCombinacaoLinha.getOrigem()); - } - - ruta = rutaService.actualizacion(ruta, lsSequencias); - rutaList.updateItem(ruta); - - Messagebox.show(Labels.getLabel( - "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " - + ruta.getRutaId().toString()), - Labels.getLabel("editarCatalogoDeRutaController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - + Ruta rutaDB = rutaClone == null ? ruta : rutaClone; + rutaDB.setClaseServicio(clase); + + if (rutaDB.getRutaId() == null) { + rutaDB.setIsClone(true); + rutaDB = salvarNovaRuta(rutaDB); + } + + tramoRutaService.generarTramosRutaExistente(rutaTramoIdaVO, rutaDB); + + List secuencias = new ArrayList(); + + for (ParadaSecuenciaCombinacaoLinha paradaSecuenciaCombinacaoLinha : rutaTramoIdaVO.getLsParadaSecuenciaCombinacaoLinhas()) { + secuencias.add(paradaSecuenciaCombinacaoLinha.getOrigem()); + } + + rutaDB = atualizarRuta(rutaDB); + + Messagebox.show(Labels.getLabel( + "editarCatalogoDeRutaController.MSG.suscribirOK").concat(" ID: " + + rutaDB.getRutaId().toString()), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, + Messagebox.INFORMATION); + winEditarRuta.detach(); this.closeWindow(); + } catch (BusinessException e1) { Messagebox.show(e1.getMessage(), Labels.getLabel("editarCombinacionTramoRutaController.window.title"), Messagebox.OK, Messagebox.ERROR); e1.printStackTrace(); } } - + private List popularSequencia() { List lsSecuenciaRutaTramoVO = new ArrayList(); @@ -113,7 +127,21 @@ public class GerarCombinacionTramoRutaController extends MyGenericForwardCompose lsSecuenciaRutaTramoVO.add(secuenciaRutaTramoVO); } - + return lsSecuenciaRutaTramoVO; } + + private Ruta salvarNovaRuta(Ruta rutaDB) throws BusinessException, InterruptedException { + rutaDB = rutaService.suscribir(rutaDB, lsSequencias); + rutaList.addItemNovo(rutaDB); + + return rutaDB; + } + + private Ruta atualizarRuta(Ruta rutaDB) throws BusinessException, InterruptedException { + rutaDB = rutaService.actualizacion(rutaDB, lsSequencias); + rutaList.updateItem(rutaDB); + + return rutaDB; + } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 963622689..0ed9c39f5 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1966,6 +1966,10 @@ editarCatalogoDeRutaController.actionCanbiarParada.businessException = Los datos editarCatalogoDeRutaController.actionCanbiarParada.sucesso = Cambiado correctamente la ubicación. editarCatalogoDeRutaController.lblIndRutaInternacional.value = Ruta Internacional editarCatalogoDeRutaController.actionCanbiarParada.validaParada = Ya existe una localización registrada com el COD. IATA o DESCRIPCIÓN informados. Quieres realmente registrar en la ruta la localidad informadas ? +editarCatalogoDeRutaController.MSG.IncluirSequenciaRutaCloneError = Favor salvar a linha antes de incluir uma nova sequência. +editarCatalogoDeRutaController.MSG.ExcluirSequenciaRutaCloneError = Favor salvar a linha antes de excluir uma sequência. +editarCatalogoDeRutaController.MSG.IncluirEmpresaRutaCloneError = Favor salvar a linha antes de adicionar uma nova empresa. +editarCatalogoDeRutaController.MSG.ExcluirEmpresaRutaCloneError = Favor salvar a linha antes de excluir uma empresa. # A través da pantalla de Búsqueda busquedaViaController.window.title = Via diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 987f23861..de8dae058 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -2021,6 +2021,10 @@ editarCatalogoDeRutaController.actionCanbiarParada.businessException = Faltam da editarCatalogoDeRutaController.actionCanbiarParada.sucesso = Localidade alterada com sucesso. editarCatalogoDeRutaController.lblIndRutaInternacional.value = Linha Internacional editarCatalogoDeRutaController.actionCanbiarParada.validaParada = Já existe uma localidade cadastrada com o COD. IATA ou DESCRIÇÃO digitados. Deseja realmente cadastrar na linha a localidade informada ? +editarCatalogoDeRutaController.MSG.IncluirSequenciaRutaCloneError = Favor salvar a linha antes de incluir uma nova sequência. +editarCatalogoDeRutaController.MSG.ExcluirSequenciaRutaCloneError = Favor salvar a linha antes de excluir uma sequência. +editarCatalogoDeRutaController.MSG.IncluirEmpresaRutaCloneError = Favor salvar a linha antes de adicionar uma nova empresa. +editarCatalogoDeRutaController.MSG.ExcluirEmpresaRutaCloneError = Favor salvar a linha antes de excluir uma empresa. # A través da pantalla de Pesquisa busquedaViaController.window.title = Via