fixes bug #AL-2734

master
valdevir 2023-08-01 16:07:02 -03:00
parent f8c26cc4d2
commit 285b39026d
2 changed files with 375 additions and 328 deletions

View File

@ -665,12 +665,11 @@ public class EditarCorridaController extends MyGenericForwardComposer {
} }
salvar = false; salvar = false;
txtNumCorrida.getValue();
Date dataDeFecInicioVigencia = fecniciovigencia.getValue();
Date dataAteFecfinvigencia = fecfinvigencia.getValue();
if (esquemaCorrida.getRuta().getIndRutaCancelada()) { if(!realizaValidacoes()) {
Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaId")
.concat(" " + esquemaCorrida.getRuta().getRutaId()+" ")
.concat(Labels.getLabel("editarCatalogoDeRutaController.msg.rutaDesativadaIdPt2")));
salvar = true;
return; return;
} }
@ -679,43 +678,45 @@ public class EditarCorridaController extends MyGenericForwardComposer {
esquemaCorridaEmbarqueDesembarqueService.borrar(esquemaCorridaEmbarqueDesembarque); 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 //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"); boolean isNaoImprimeBPE = esquemaCorrida.getIndNaoImprimeBpe() == null ? false : esquemaCorrida.getIndNaoImprimeBpe().equals("1");
if(isNaoImprimeBPE) { if(isNaoImprimeBPE) {
Date dataDe = horaIniNaoImpBpe.getValue(); Date dataDeNaoImpBpe = horaIniNaoImpBpe.getValue();
Date dataAte = horaFimNaoImpBpe.getValue(); Date dataAteNaoImpBpe = horaFimNaoImpBpe.getValue();
boolean isHoraValida = horaIniNaoImpBpe.getValue() == null || horaFimNaoImpBpe.getValue() == null ? false : true; boolean isHoraValida = horaIniNaoImpBpe.getValue() == null || horaFimNaoImpBpe.getValue() == null ? false : true;
if(isHoraValida) { if(isHoraValida) {
dataDe.setSeconds(59); dataDeNaoImpBpe.setSeconds(59);
dataAte.setSeconds(59); dataAteFecfinvigencia.setSeconds(59);
if(dataDe.after(dataAte)) { if(dataDeNaoImpBpe.after(dataAteNaoImpBpe)) {
esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataAte)); esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataAteNaoImpBpe));
esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataDe)); esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataDeNaoImpBpe));
} else if(dataDe.before(dataAte)) { } else if(dataDeNaoImpBpe.before(dataAteNaoImpBpe)) {
esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataDe)); esquemaCorrida.setHoraIniNaoImpBPE(buscarHora(dataDeNaoImpBpe));
esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataAte)); esquemaCorrida.setHoraFimNaoImpBPE(buscarHora(dataAteNaoImpBpe));
} else { } else {
esquemaCorrida.setIndNaoImprimeBpe("0"); esquemaCorrida.setIndNaoImprimeBpe("0");
setSelecaoCboBPE(); setSelecaoCboBPE();
@ -726,42 +727,45 @@ public class EditarCorridaController extends MyGenericForwardComposer {
} }
} }
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()) { if (chkDoblePiso.isChecked()) {
txtNumCorridaPisoExtra.getValue(); txtNumCorridaPisoExtra.getValue();
txtNumCorridaPisoExtra2.getValue(); txtNumCorridaPisoExtra2.getValue();
} }
if (chkDoblePiso.isChecked() && !validarPisoExtra()) {
salvar = true;
return;
} }
try { private boolean validaEsquemaTramo(Date dataDeFecInicioVigencia, Date dataAteFecfinvigencia ) throws InterruptedException {
Comboitem ciRuta = cmbRuta.getSelectedItem(); Comboitem ciRuta = cmbRuta.getSelectedItem();
Ruta ruta = null; Ruta ruta = null;
if (ciRuta != null) { if (ciRuta != null) {
ruta = (Ruta) ciRuta.getValue(); ruta = (Ruta) ciRuta.getValue();
} }
if (ruta != null) { if (chkDoblePiso.isChecked() && !validarPisoExtra()) {
dataAte.setSeconds(59); salvar = true;
if (dataDe.before(dataAte)) { return false;
if (!lsEsquemaTramo.isEmpty()) { }
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) { if (esquemaCorrida.getClaseServicio() == null) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Clase"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Clase"),
@ -769,12 +773,14 @@ public class EditarCorridaController extends MyGenericForwardComposer {
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
return false;
} else if (esquemaCorrida.getMarca() == null) { } else if (esquemaCorrida.getMarca() == null) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Marca"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Marca"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
return false;
} else if (esquemaCorrida.getRuta() == null) { } else if (esquemaCorrida.getRuta() == null) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Ruta"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Ruta"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
@ -787,20 +793,27 @@ public class EditarCorridaController extends MyGenericForwardComposer {
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
return false;
} else if (esquemaCorrida.getEmpresa1() == null) { } else if (esquemaCorrida.getEmpresa1() == null) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa1"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Empresa1"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
return false;
} else if (esquemaCorrida.getRolOperativo() == null) { } else if (esquemaCorrida.getRolOperativo() == null) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Rol"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.Rol"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
} else { return false;
}
return true;
}
private void salvaEsquemaTramo(Date dataDeFecInicioVigencia) throws InterruptedException {
//FlexBus //FlexBus
if(esquemaCorrida.getIsFlexBus()) { if(esquemaCorrida.getIsFlexBus()) {
esquemaCorrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue()); esquemaCorrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue());
@ -868,13 +881,56 @@ public class EditarCorridaController extends MyGenericForwardComposer {
List<EsquemaCorrida> lsEC = Collections.EMPTY_LIST; List<EsquemaCorrida> lsEC = Collections.EMPTY_LIST;
if (esquemaCorrida.getEsquemacorridaId() == null) { if (esquemaCorrida.getEsquemacorridaId() == null) {
salvaNovoEsquemaCorrida(dataDeFecInicioVigencia, lsEC);
} else {
atualizaDadosEsquemaCorrida(lsEC);
}
}
private void atualizaDadosEsquemaCorrida(List<EsquemaCorrida> 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);
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();
}
private void salvaNovoEsquemaCorrida(Date dataDeFecInicioVigencia, List<EsquemaCorrida> lsEC)
throws InterruptedException {
Calendar agora = Calendar.getInstance(); Calendar agora = Calendar.getInstance();
agora.set(agora.get(Calendar.YEAR), agora.get(Calendar.MONTH), agora.get(Calendar.DATE), agora.set(agora.get(Calendar.YEAR), agora.get(Calendar.MONTH), agora.get(Calendar.DATE),
NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO); NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO, NumberUtils.INTEGER_ZERO);
dataDe.setSeconds(01); dataDeFecInicioVigencia.setSeconds(01);
if (dataDe.before(agora.getTime())) { if (dataDeFecInicioVigencia.before(agora.getTime())) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.fecha"), Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.fecha"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.OK,
@ -983,65 +1039,53 @@ public class EditarCorridaController extends MyGenericForwardComposer {
salvar = true; 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); 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;
}
} else {
Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), //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"), Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.OK,
Messagebox.EXCLAMATION); Messagebox.EXCLAMATION);
salvar = true; salvar = true;
return false;
}
} }
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.suscribirOK"), if(esquemaCorrida.getIsAutomacaoHorarioExtra() && !validarCorridaExtraAutomatica()) {
Labels.getLabel("editarConfiguracionCorridaController.window.title"), salvar = true;
Messagebox.OK, return false;
Messagebox.INFORMATION);
closeWindow();
}
}
} else {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaSemTramos"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
} else {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.busquedaPeriodo"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
} else {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.RutaVazia"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
} 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);
} }
return true;
} }
private Date buscarHora(Date horasalidaExtra) { private Date buscarHora(Date horasalidaExtra) {

View File

@ -53,6 +53,7 @@
label="${c:l('editarConfiguracionCorridaController.lbAutomatizacaoHorarioExtra.value')}" /> label="${c:l('editarConfiguracionCorridaController.lbAutomatizacaoHorarioExtra.value')}" />
</tabs> </tabs>
<tabpanels> <tabpanels>
<!-- Aba Serviço -->
<tabpanel> <tabpanel>
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>
@ -452,6 +453,7 @@
</rows> </rows>
</grid> </grid>
</tabpanel> </tabpanel>
<!-- Aba Localidade -->
<tabpanel height="300px"> <tabpanel height="300px">
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>
@ -529,6 +531,7 @@
</listhead> </listhead>
</listbox> </listbox>
</tabpanel> </tabpanel>
<!-- Embarque / Desembarque -->
<tabpanel height="300px"> <tabpanel height="300px">
<grid fixedLayout="true"> <grid fixedLayout="true">
<columns> <columns>