From 285b39026d48417a9e1f00e7a19e2bdb408d2ed1 Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 1 Aug 2023 16:07:02 -0300 Subject: [PATCH 1/2] fixes bug #AL-2734 --- .../EditarCorridaController.java | 700 ++++++++++-------- web/gui/esquema_operacional/editarCorrida.zul | 3 + 2 files changed, 375 insertions(+), 328 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java index e1dcefc9f..e4beb09f0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCorridaController.java @@ -665,12 +665,11 @@ public class EditarCorridaController extends MyGenericForwardComposer { } salvar = false; + txtNumCorrida.getValue(); + Date dataDeFecInicioVigencia = fecniciovigencia.getValue(); + Date dataAteFecfinvigencia = fecfinvigencia.getValue(); - if (esquemaCorrida.getRuta().getIndRutaCancelada()) { - Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaId") - .concat(" " + esquemaCorrida.getRuta().getRutaId()+" ") - .concat(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaIdPt2"))); - salvar = true; + if(!realizaValidacoes()) { return; } @@ -679,43 +678,45 @@ public class EditarCorridaController extends MyGenericForwardComposer { esquemaCorridaEmbarqueDesembarqueService.borrar(esquemaCorridaEmbarqueDesembarque); } } - - //FlexBus - if(esquemaCorrida.getIsFlexBus() && (txtHorasParaConfirmacao.getValue() == null || txtMinutosParaConfirmacao.getValue() == null || txtOcupacaoMinima.getValue() == null)) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesFlexBus"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - salvar = true; - return; - } - - //Automacao Horario Extra - if(esquemaCorrida.getIsAutomacaoHorarioExtra() && (txtHorasAutomacaoDE.getValue() == null || txtOcupacaoHorarioExtra.getValue() == null )) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesAutomacaoHorarioExtra"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - salvar = true; - return; - } - - if(esquemaCorrida.getIsAutomacaoHorarioExtra() && !validarCorridaExtraAutomatica()) { - salvar = true; - return; - } - //Imprimir ou não recibo BPE na embarcada + validaNaoImprimeBpe(dataAteFecfinvigencia); + + + try { + + dataAteFecfinvigencia.setSeconds(59); + + if(!validaEsquemaTramo(dataDeFecInicioVigencia, dataAteFecfinvigencia)) { + return; + } else { + salvaEsquemaTramo(dataDeFecInicioVigencia); + } + + } catch (WrongValueException ex) { + throw (WrongValueException) ex; + } catch (Exception ex) { + log.error("", ex); + Messagebox.show(Labels.getLabel("MSG.Error").concat(" - ").concat(ex.toString()), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + } + + private void validaNaoImprimeBpe(Date dataAteFecfinvigencia) { boolean isNaoImprimeBPE = esquemaCorrida.getIndNaoImprimeBpe() == null ? false : esquemaCorrida.getIndNaoImprimeBpe().equals("1"); if(isNaoImprimeBPE) { - Date dataDe = horaIniNaoImpBpe.getValue(); - Date dataAte = horaFimNaoImpBpe.getValue(); + Date dataDeNaoImpBpe = horaIniNaoImpBpe.getValue(); + Date dataAteNaoImpBpe = horaFimNaoImpBpe.getValue(); boolean isHoraValida = horaIniNaoImpBpe.getValue() == null || horaFimNaoImpBpe.getValue() == null ? false : true; if(isHoraValida) { - dataDe.setSeconds(59); - dataAte.setSeconds(59); - if(dataDe.after(dataAte)) { - esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataAte)); - esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataDe)); - } else if(dataDe.before(dataAte)) { - esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataDe)); - esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataAte)); + dataDeNaoImpBpe.setSeconds(59); + dataAteFecfinvigencia.setSeconds(59); + if(dataDeNaoImpBpe.after(dataAteNaoImpBpe)) { + esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataAteNaoImpBpe)); + esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataDeNaoImpBpe)); + } else if(dataDeNaoImpBpe.before(dataAteNaoImpBpe)) { + esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataDeNaoImpBpe)); + esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataAteNaoImpBpe)); } else { esquemaCorrida.setIndNaoImprimeBpe("0"); setSelecaoCboBPE(); @@ -725,325 +726,368 @@ public class EditarCorridaController extends MyGenericForwardComposer { setSelecaoCboBPE(); } } - - Date dataDe = fecniciovigencia.getValue(); - Date dataAte = fecfinvigencia.getValue(); - txtNumCorrida.getValue(); - Integer maxSizeNumCorrida = ApplicationProperties.getInstance().maxSizeNumCorrida(); - if (maxSizeNumCorrida != -1) { - if (txtNumCorrida.getValue().toString().length() > maxSizeNumCorrida) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.maxSizeNumCorrida").replace("@size", maxSizeNumCorrida.toString()), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - return; - } - } if (chkDoblePiso.isChecked()) { txtNumCorridaPisoExtra.getValue(); txtNumCorridaPisoExtra2.getValue(); } + } + + private boolean validaEsquemaTramo(Date dataDeFecInicioVigencia, Date dataAteFecfinvigencia ) throws InterruptedException { + Comboitem ciRuta = cmbRuta.getSelectedItem(); + Ruta ruta = null; + if (ciRuta != null) { + ruta = (Ruta) ciRuta.getValue(); + } if (chkDoblePiso.isChecked() && !validarPisoExtra()) { salvar = true; - return; + return false; + } + + if (dataDeFecInicioVigencia.after(dataAteFecfinvigencia)) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.busquedaPeriodo"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(ruta==null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaVazia"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(lsEsquemaTramo.isEmpty()) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaSemTramos"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + + } + + if (esquemaCorrida.getClaseServicio() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Clase"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } else if (esquemaCorrida.getMarca() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Marca"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } else if (esquemaCorrida.getRuta() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Ruta"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + } else if (esquemaCorrida.getEmpresa() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } else if (esquemaCorrida.getEmpresa1() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa1"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } else if (esquemaCorrida.getRolOperativo() == null) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Rol"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } + + return true; + } + + private void salvaEsquemaTramo(Date dataDeFecInicioVigencia) throws InterruptedException { + //FlexBus + if(esquemaCorrida.getIsFlexBus()) { + esquemaCorrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue()); + esquemaCorrida.setMinutosParaConfirmacao(txtMinutosParaConfirmacao.getValue()); + esquemaCorrida.setOcupacaoMinima(txtOcupacaoMinima.getValue()); + } else { + esquemaCorrida.setHorasParaConfirmacao(null); + esquemaCorrida.setMinutosParaConfirmacao(null); + esquemaCorrida.setOcupacaoMinima(null); } - try { - Comboitem ciRuta = cmbRuta.getSelectedItem(); - Ruta ruta = null; - if (ciRuta != null) { - ruta = (Ruta) ciRuta.getValue(); + //Automacao Horario Extra + if(esquemaCorrida.getIsAutomacaoHorarioExtra()) { + esquemaCorrida.setHorasAutomacaoHEDe(txtHorasAutomacaoDE.getValue() == null ? 0 : txtHorasAutomacaoDE.getValue()); + esquemaCorrida.setMinutosAutomacaoHEDe(txtMinutosAutomacaoDE.getValue() == null ? 0 : txtMinutosAutomacaoDE.getValue()); + esquemaCorrida.setHorasAutomacaoHEAte(txtHorasAutomacaoATE.getValue() == null ? 0 : txtHorasAutomacaoATE.getValue()); + esquemaCorrida.setMinutosAutomacaoHEAte(txtMinutosAutomacaoATE.getValue() == null ? 0 : txtMinutosAutomacaoATE.getValue()); + esquemaCorrida.setTaxaOcupacao(txtOcupacaoHorarioExtra.getValue() == null ? 0 : txtOcupacaoHorarioExtra.getValue() ); + esquemaCorrida.setNumCorridaServicoExtra(txtNumCorridaExtraAuto.getValue()); + + esquemaCorrida.setHorasalidaExtra(buscarHora(esquemaCorrida.getHorasalidaExtra())); + } + + if (porBloq.isChecked()) { + de.getValue(); + hasta.getValue(); + minutos.getValue(); + } else { + horasalida.getValue(); + } + + esquemaCorrida.setInfoCorrida(txtInfoCorrida.getValue()); + esquemaCorrida.setIndCorridaExtra(chkCorridaExtra.isChecked()); + esquemaCorrida.setNumCorrida(txtNumCorrida.getValue()); + esquemaCorrida.setActivo(Boolean.TRUE); + esquemaCorrida.setFecmodif(Calendar.getInstance().getTime()); + esquemaCorrida.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + esquemaCorrida.setIndBloqueiaWebAposSaida(chkBloqueiaCorridaWebAposSaida.isChecked()); + + esquemaCorrida.setDiagramaAutobusId(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId().intValue()); + + if (cmbIndGeneraFeriado.getSelectedItem() != null) { + esquemaCorrida.setIndGeneraFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue()); + } + + if (latente.isChecked()) { + esquemaCorrida.setStatusCorrida("L"); + } else if (autorizada.isChecked()) { + esquemaCorrida.setStatusCorrida("A"); + } else { + esquemaCorrida.setStatusCorrida("C"); + } + + if (fletes.isChecked()) { + esquemaCorrida.setTipocorrida("F"); + } else if (viajesEspeciales.isChecked()) { + esquemaCorrida.setTipocorrida("S"); + } else if (transportePasajeros.isChecked()) { + esquemaCorrida.setTipocorrida("P"); + } + + // nao gravar segundos: + esquemaCorrida.setHorasalida(buscarHora(esquemaCorrida.getHorasalida())); + + List lsEC = Collections.EMPTY_LIST; + + if (esquemaCorrida.getEsquemacorridaId() == null) { + salvaNovoEsquemaCorrida(dataDeFecInicioVigencia, lsEC); + } else { + atualizaDadosEsquemaCorrida(lsEC); + } + } + + private void atualizaDadosEsquemaCorrida(List lsEC) throws InterruptedException { + boolean podeSalvar = false; + if ((lsEC.isEmpty())) { + podeSalvar = true; + } else { + for (EsquemaCorrida ec : lsEC) { + if (ec.getEsquemacorridaId().equals(esquemaCorrida.getEsquemacorridaId())) { + podeSalvar = true; + } } + } + if (podeSalvar) { + if (!chkDoblePiso.isChecked()) { + esquemaCorrida.setNumCorridaPisoExtra(null); + } + esquemaCorridaService.actualizacion(esquemaCorrida); + esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, esquemaCorrida); - if (ruta != null) { - dataAte.setSeconds(59); - if (dataDe.before(dataAte)) { - if (!lsEsquemaTramo.isEmpty()) { + esquemaCorridaList.updateItem(esquemaCorrida); - if (esquemaCorrida.getClaseServicio() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Clase"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else if (esquemaCorrida.getMarca() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Marca"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else if (esquemaCorrida.getRuta() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Ruta"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else if (esquemaCorrida.getEmpresa() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else if (esquemaCorrida.getEmpresa1() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa1"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else if (esquemaCorrida.getRolOperativo() == null) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Rol"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else { - - //FlexBus - if(esquemaCorrida.getIsFlexBus()) { - esquemaCorrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue()); - esquemaCorrida.setMinutosParaConfirmacao(txtMinutosParaConfirmacao.getValue()); - esquemaCorrida.setOcupacaoMinima(txtOcupacaoMinima.getValue()); - } else { - esquemaCorrida.setHorasParaConfirmacao(null); - esquemaCorrida.setMinutosParaConfirmacao(null); - esquemaCorrida.setOcupacaoMinima(null); + } else { + Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + } + + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.suscribirOK"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.INFORMATION); + + closeWindow(); + } + + private void salvaNovoEsquemaCorrida(Date dataDeFecInicioVigencia, List lsEC) + throws InterruptedException { + Calendar agora = Calendar.getInstance(); + agora.set(agora.get(Calendar.YEAR), agora.get(Calendar.MONTH), agora.get(Calendar.DATE), + NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO); + + dataDeFecInicioVigencia.setSeconds(01); + if (dataDeFecInicioVigencia.before(agora.getTime())) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.fecha"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + } else { + if (lsEC.isEmpty()) { + Boolean existeNumCorrida = true; + + EsquemaCorrida ecor = esquemaCorridaService.buscarPeloNumCorrida(esquemaCorrida.getNumCorrida()); + existeNumCorrida = ecor != null; + + if ((!existeNumCorrida) && !(esquemaCorrida.getNumCorrida().equals(esquemaCorrida.getNumCorridaPisoExtra()))) { + if (porBloq.isChecked()) { + Date des = de.getValue(); + Date has = hasta.getValue(); + has.setSeconds(1); + EsquemaOperacional eo = new EsquemaOperacional(); + Integer numCorrida = esquemaCorrida.getNumCorrida(); + while (des.before(has)) { + EsquemaCorrida ec = new EsquemaCorrida(); + eo.setActivo(Boolean.TRUE); + eo.setFecmodif(Calendar.getInstance().getTime()); + eo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + Date horaSalida = new Date(); + horaSalida.setHours(des.getHours()); + horaSalida.setMinutes(des.getMinutes()); + horaSalida.setSeconds(0); + + ec.setActivo(Boolean.TRUE); + ec.setFecmodif(Calendar.getInstance().getTime()); + ec.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + ec.setClaseServicio(esquemaCorrida.getClaseServicio()); + ec.setEmpresa(esquemaCorrida.getEmpresa()); + ec.setEmpresa1(esquemaCorrida.getEmpresa1()); + + eo.setFecniciovigencia(esquemaCorrida.getEsquemaOperacional().getFecniciovigencia()); + eo.setFecfinvigencia(esquemaCorrida.getEsquemaOperacional().getFecfinvigencia()); + + ec.setEsquemaOperacional(eo); + ec.setMarca(esquemaCorrida.getMarca()); + ec.setRolOperativo(esquemaCorrida.getRolOperativo()); + ec.setDiagramaAutobusId(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId().intValue()); + ec.setRuta(esquemaCorrida.getRuta()); + ec.setInddomingo(esquemaCorrida.getInddomingo()); + ec.setIndjueves(esquemaCorrida.getIndjueves()); + ec.setIndlunes(esquemaCorrida.getIndlunes()); + ec.setIndmartes(esquemaCorrida.getIndmartes()); + ec.setIndmiercoles(esquemaCorrida.getIndmiercoles()); + ec.setIndsabado(esquemaCorrida.getIndsabado()); + ec.setIndviernes(esquemaCorrida.getIndviernes()); + ec.setStatusCorrida(esquemaCorrida.getStatusCorrida()); + ec.setTipocorrida(esquemaCorrida.getTipocorrida()); + ec.setCantparados(esquemaCorrida.getCantparados()); + ec.setInfoCorrida(esquemaCorrida.getInfoCorrida()); + ec.setHorasalida(horaSalida); + ec.setIndGeneraFeriado(esquemaCorrida.getIndGeneraFeriado()); + + ec.setPisoExtra(esquemaCorrida.getPisoExtra()); + + + // Salva + Boolean existeNumCorridaBloco = true; + while (existeNumCorridaBloco) { + existeNumCorridaBloco = esquemaCorridaService.buscarNumCorrida(numCorrida, null,false); + ec.setNumCorrida(numCorrida); + numCorrida = numCorrida + 1; } + ec = esquemaCorridaService.suscribir(ec); + esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, ec); - //Automacao Horario Extra - if(esquemaCorrida.getIsAutomacaoHorarioExtra()) { - esquemaCorrida.setHorasAutomacaoHEDe(txtHorasAutomacaoDE.getValue() == null ? 0 : txtHorasAutomacaoDE.getValue()); - esquemaCorrida.setMinutosAutomacaoHEDe(txtMinutosAutomacaoDE.getValue() == null ? 0 : txtMinutosAutomacaoDE.getValue()); - esquemaCorrida.setHorasAutomacaoHEAte(txtHorasAutomacaoATE.getValue() == null ? 0 : txtHorasAutomacaoATE.getValue()); - esquemaCorrida.setMinutosAutomacaoHEAte(txtMinutosAutomacaoATE.getValue() == null ? 0 : txtMinutosAutomacaoATE.getValue()); - esquemaCorrida.setTaxaOcupacao(txtOcupacaoHorarioExtra.getValue() == null ? 0 : txtOcupacaoHorarioExtra.getValue() ); - esquemaCorrida.setNumCorridaServicoExtra(txtNumCorridaExtraAuto.getValue()); - - esquemaCorrida.setHorasalidaExtra(buscarHora(esquemaCorrida.getHorasalidaExtra())); - } - - if (porBloq.isChecked()) { - de.getValue(); - hasta.getValue(); - minutos.getValue(); - } else { - horasalida.getValue(); - } - - esquemaCorrida.setInfoCorrida(txtInfoCorrida.getValue()); - esquemaCorrida.setIndCorridaExtra(chkCorridaExtra.isChecked()); - esquemaCorrida.setNumCorrida(txtNumCorrida.getValue()); - esquemaCorrida.setActivo(Boolean.TRUE); - esquemaCorrida.setFecmodif(Calendar.getInstance().getTime()); - esquemaCorrida.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - esquemaCorrida.setIndBloqueiaWebAposSaida(chkBloqueiaCorridaWebAposSaida.isChecked()); - - esquemaCorrida.setDiagramaAutobusId(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId().intValue()); - - if (cmbIndGeneraFeriado.getSelectedItem() != null) { - esquemaCorrida.setIndGeneraFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue()); - } - - if (latente.isChecked()) { - esquemaCorrida.setStatusCorrida("L"); - } else if (autorizada.isChecked()) { - esquemaCorrida.setStatusCorrida("A"); - } else { - esquemaCorrida.setStatusCorrida("C"); - } - - if (fletes.isChecked()) { - esquemaCorrida.setTipocorrida("F"); - } else if (viajesEspeciales.isChecked()) { - esquemaCorrida.setTipocorrida("S"); - } else if (transportePasajeros.isChecked()) { - esquemaCorrida.setTipocorrida("P"); - } - - // nao gravar segundos: - esquemaCorrida.setHorasalida(buscarHora(esquemaCorrida.getHorasalida())); - - List lsEC = Collections.EMPTY_LIST; - - if (esquemaCorrida.getEsquemacorridaId() == null) { - - Calendar agora = Calendar.getInstance(); - agora.set(agora.get(Calendar.YEAR), agora.get(Calendar.MONTH), agora.get(Calendar.DATE), - NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO); - - dataDe.setSeconds(01); - if (dataDe.before(agora.getTime())) { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.fecha"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } else { - if (lsEC.isEmpty()) { - Boolean existeNumCorrida = true; - - EsquemaCorrida ecor = esquemaCorridaService.buscarPeloNumCorrida(esquemaCorrida.getNumCorrida()); - existeNumCorrida = ecor != null; - - if ((!existeNumCorrida) && !(esquemaCorrida.getNumCorrida().equals(esquemaCorrida.getNumCorridaPisoExtra()))) { - if (porBloq.isChecked()) { - Date des = de.getValue(); - Date has = hasta.getValue(); - has.setSeconds(1); - EsquemaOperacional eo = new EsquemaOperacional(); - Integer numCorrida = esquemaCorrida.getNumCorrida(); - while (des.before(has)) { - EsquemaCorrida ec = new EsquemaCorrida(); - eo.setActivo(Boolean.TRUE); - eo.setFecmodif(Calendar.getInstance().getTime()); - eo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - - Date horaSalida = new Date(); - horaSalida.setHours(des.getHours()); - horaSalida.setMinutes(des.getMinutes()); - horaSalida.setSeconds(0); - - ec.setActivo(Boolean.TRUE); - ec.setFecmodif(Calendar.getInstance().getTime()); - ec.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - ec.setClaseServicio(esquemaCorrida.getClaseServicio()); - ec.setEmpresa(esquemaCorrida.getEmpresa()); - ec.setEmpresa1(esquemaCorrida.getEmpresa1()); - - eo.setFecniciovigencia(esquemaCorrida.getEsquemaOperacional().getFecniciovigencia()); - eo.setFecfinvigencia(esquemaCorrida.getEsquemaOperacional().getFecfinvigencia()); - - ec.setEsquemaOperacional(eo); - ec.setMarca(esquemaCorrida.getMarca()); - ec.setRolOperativo(esquemaCorrida.getRolOperativo()); - ec.setDiagramaAutobusId(esquemaCorrida.getRolOperativo().getDiagramaAutobus().getDiagramaautobusId().intValue()); - ec.setRuta(esquemaCorrida.getRuta()); - ec.setInddomingo(esquemaCorrida.getInddomingo()); - ec.setIndjueves(esquemaCorrida.getIndjueves()); - ec.setIndlunes(esquemaCorrida.getIndlunes()); - ec.setIndmartes(esquemaCorrida.getIndmartes()); - ec.setIndmiercoles(esquemaCorrida.getIndmiercoles()); - ec.setIndsabado(esquemaCorrida.getIndsabado()); - ec.setIndviernes(esquemaCorrida.getIndviernes()); - ec.setStatusCorrida(esquemaCorrida.getStatusCorrida()); - ec.setTipocorrida(esquemaCorrida.getTipocorrida()); - ec.setCantparados(esquemaCorrida.getCantparados()); - ec.setInfoCorrida(esquemaCorrida.getInfoCorrida()); - ec.setHorasalida(horaSalida); - ec.setIndGeneraFeriado(esquemaCorrida.getIndGeneraFeriado()); - - ec.setPisoExtra(esquemaCorrida.getPisoExtra()); - - - // Salva - Boolean existeNumCorridaBloco = true; - while (existeNumCorridaBloco) { - existeNumCorridaBloco = esquemaCorridaService.buscarNumCorrida(numCorrida, null,false); - ec.setNumCorrida(numCorrida); - numCorrida = numCorrida + 1; - } - ec = esquemaCorridaService.suscribir(ec); - esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, ec); - - // Acrescenta Minutos na Hora - des.setMinutes(des.getMinutes() + minutos.getValue()); - } - } else { - EsquemaOperacional eo = new EsquemaOperacional(); - eo.setFecmodif(new Date()); - eo.setUsuarioId(esquemaCorrida.getEsquemaOperacional().getUsuarioId()); - eo.setActivo(Boolean.TRUE); - eo.setFecniciovigencia(fecniciovigencia.getValue()); - eo.setFecfinvigencia(fecfinvigencia.getValue()); - esquemaCorrida.setEsquemaOperacional(eo); - esquemaCorridaService.suscribir(esquemaCorrida); - - esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, esquemaCorrida); - isClone = false; - } - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.suscribirOK"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.INFORMATION); - busquedaCorridaController.refreshLista(); - closeWindow(); - } else { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.NumCorrida"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - salvar = true; - } - } else { - Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } - } - } else { - boolean podeSalvar = false; - if ((lsEC.isEmpty())) { - podeSalvar = true; - } else { - for (EsquemaCorrida ec : lsEC) { - if (ec.getEsquemacorridaId().equals(esquemaCorrida.getEsquemacorridaId())) { - podeSalvar = true; - } - } - } - if (podeSalvar) { - if (!chkDoblePiso.isChecked()) { - esquemaCorrida.setNumCorridaPisoExtra(null); - } - esquemaCorridaService.actualizacion(esquemaCorrida); - esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, esquemaCorrida); - - esquemaCorridaList.updateItem(esquemaCorrida); - - } else { - Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.EXCLAMATION); - salvar = true; - } - - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.suscribirOK"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, - Messagebox.INFORMATION); - - closeWindow(); - } + // Acrescenta Minutos na Hora + des.setMinutes(des.getMinutes() + minutos.getValue()); } } else { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaSemTramos"), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); + EsquemaOperacional eo = new EsquemaOperacional(); + eo.setFecmodif(new Date()); + eo.setUsuarioId(esquemaCorrida.getEsquemaOperacional().getUsuarioId()); + eo.setActivo(Boolean.TRUE); + eo.setFecniciovigencia(fecniciovigencia.getValue()); + eo.setFecfinvigencia(fecfinvigencia.getValue()); + esquemaCorrida.setEsquemaOperacional(eo); + esquemaCorridaService.suscribir(esquemaCorrida); + + esquemaCorridaService.actualizaEsquemaTramo(lsParadaEsquema, esquemaCorrida); + isClone = false; } + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.suscribirOK"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.INFORMATION); + busquedaCorridaController.refreshLista(); + closeWindow(); } else { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.busquedaPeriodo"), + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.NumCorrida"), Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + salvar = true; } } else { - Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaVazia"), + Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; } - } catch (WrongValueException ex) { - throw (WrongValueException) ex; - } catch (Exception ex) { - log.error("", ex); - Messagebox.show(Labels.getLabel("MSG.Error").concat(" - ").concat(ex.toString()), - Labels.getLabel("editarConfiguracionCorridaController.window.title"), - Messagebox.OK, Messagebox.ERROR); } } + private boolean realizaValidacoes() throws InterruptedException { + //Linha Destaivada + if (esquemaCorrida.getRuta().getIndRutaCancelada()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaId") + .concat(" " + esquemaCorrida.getRuta().getRutaId()+" ") + .concat(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaIdPt2"))); + salvar = true; + return false; + } + + + //FlexBus + if(esquemaCorrida.getIsFlexBus() && (txtHorasParaConfirmacao.getValue() == null || txtMinutosParaConfirmacao.getValue() == null || txtOcupacaoMinima.getValue() == null)) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesFlexBus"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + salvar = true; + return false; + } + + //Automacao Horario Extra + if(esquemaCorrida.getIsAutomacaoHorarioExtra() && (txtHorasAutomacaoDE.getValue() == null || txtOcupacaoHorarioExtra.getValue() == null )) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesAutomacaoHorarioExtra"), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + salvar = true; + return false; + } + + String numCorridaString = txtNumCorrida.getValue().toString(); + Integer maxSizeNumCorrida = ApplicationProperties.getInstance().maxSizeNumCorrida(); + if (maxSizeNumCorrida != -1) { + if (numCorridaString.length() > maxSizeNumCorrida) { + Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.maxSizeNumCorrida").replace("@size", maxSizeNumCorrida.toString()), + Labels.getLabel("editarConfiguracionCorridaController.window.title"), + Messagebox.OK, + Messagebox.EXCLAMATION); + salvar = true; + return false; + } + } + + if(esquemaCorrida.getIsAutomacaoHorarioExtra() && !validarCorridaExtraAutomatica()) { + salvar = true; + return false; + } + return true; + } + private Date buscarHora(Date horasalidaExtra) { if (horasalidaExtra != null) { GregorianCalendar gHoraSalida = new GregorianCalendar(); diff --git a/web/gui/esquema_operacional/editarCorrida.zul b/web/gui/esquema_operacional/editarCorrida.zul index 6f9edea88..73e5486e9 100644 --- a/web/gui/esquema_operacional/editarCorrida.zul +++ b/web/gui/esquema_operacional/editarCorrida.zul @@ -53,6 +53,7 @@ label="${c:l('editarConfiguracionCorridaController.lbAutomatizacaoHorarioExtra.value')}" /> + @@ -452,6 +453,7 @@ + @@ -529,6 +531,7 @@ + From fb725b909ff1bf787cf1a90853ceea8e88ff45f2 Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 1 Aug 2023 16:07:49 -0300 Subject: [PATCH 2/2] fixes bug #AL-2734 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b9d77c679..84d940328 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.11.1 + 1.11.2 war