From 1ee5cbc7bb6f78e319c4f1b15b00a7bc0110662a Mon Sep 17 00:00:00 2001 From: "alexandre.lima" Date: Thu, 20 Jul 2017 19:37:25 +0000 Subject: [PATCH] Fixes Bug #0009235 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@71675 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../tarifas/CalcularPeajeController.java | 132 ++++++++++-------- 1 file changed, 71 insertions(+), 61 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java index babe8ed76..39676a4f2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java @@ -43,13 +43,13 @@ public class CalcularPeajeController extends MyGenericForwardComposer { private CalcularPeajeService calcularPeajeService; @Autowired private EmpresaImpostoService empresaImpostoService; - + private Combobox cmbOrgaoConcedente; private List lsOrgaoConcedente; - + private Radio rdConsiderarICMSNo; private Radio rdConsiderarICMSSi; - + private Combobox cmbRuta; private List listSelectedRutas; private MyListbox selectedRutasList; @@ -74,8 +74,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { - - super.doAfterCompose(comp); + + super.doAfterCompose(comp); lsOrgaoConcedente = new ArrayList(); for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ANTT) { @@ -92,123 +92,133 @@ public class CalcularPeajeController extends MyGenericForwardComposer { } public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException { - OrgaoConcedente orgao ; - boolean orgaoListaRutasHasIndices = true; - if(!listSelectedRutas.isEmpty()){ + OrgaoConcedente orgao; + boolean orgaoListaRutasHasIndices = true; + if (!listSelectedRutas.isEmpty()) { orgao = null; - for(Ruta r : listSelectedRutas){ - if(r.getOrgaoConcedente().getIndicePeaje() == null){ + for (Ruta r : listSelectedRutas) { + if (r.getOrgaoConcedente().getIndicePeaje() == null) { orgaoListaRutasHasIndices = false; - lsIdsOrgSemIndice.add(r.getOrgaoConcedente().getOrgaoConcedenteId()); + lsIdsOrgSemIndice.add(r.getOrgaoConcedente().getOrgaoConcedenteId()); } } - }else{ + } else { orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()); } - + if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices)) { - + List lsRuta; - if(!listSelectedRutas.isEmpty()){ - lsRuta = listSelectedRutas; - }else{ + if (!listSelectedRutas.isEmpty()) { + lsRuta = listSelectedRutas; + } else { lsRuta = rutaService.buscaRutasFromOrgao(orgao); } boolean usarICMS; - if(rdConsiderarICMSSi.isChecked()){ + if (rdConsiderarICMSSi.isChecked()) { usarICMS = true; - }else{ + } else { usarICMS = false; } - if (!validarImpostoICMSEmpresa(lsRuta) && usarICMS){ - Messagebox.show("Foram encontradas empresas com ICMS nulo, o cálculo não poderá ser realizado.", + if (!validarImpostoICMSEmpresa(lsRuta) && usarICMS) { + Messagebox.show("Foram encontradas empresas com ICMS nulo, o cálculo não poderá ser realizado.", Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.ERROR); - + return; } - + try { - + calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao, usarICMS); Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.suscribirOK"), Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.INFORMATION); } catch (RuntimeException e) { // TODO throw: especific exception should be created - String error[] = e.getMessage().split(";"); - if (error.length == 2) { - String type = error[0]; - String ruta = error[1]; + if (e.getMessage().trim().length() > 0) { - if ("rutaSemQtdEixos".equals(type)) { + String error[] = e.getMessage().split(";"); + if (error.length == 2) { + String type = error[0]; + String ruta = error[1]; + + if ("rutaSemQtdEixos".equals(type)) { + Messagebox.show( + Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixos", new Object[] { ruta }), + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); + } else if ("rutaSemQtdAsientos".equals(type)) { + Messagebox.show( + Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdAsientos", new Object[] { ruta }), + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); + } + + } else { Messagebox.show( - Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixos", new Object[] { ruta }), - Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); - } else if ("rutaSemQtdAsientos".equals(type)) { - Messagebox.show( - Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdAsientos", new Object[] { ruta }), + Labels.getLabel("MSG.Error"), Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); } - } else { - Messagebox.show( - Labels.getLabel("MSG.Error"), - Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); + e.printStackTrace(); } // TODO else: show some generic error for unexpected error + } catch (Exception e) { + Messagebox.show( + "A empresa " + e.getMessage() + " não possui ICMS cadastrado.", + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); } } else { - if(orgao != null){ + if (orgao != null) { Messagebox.show( Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }), Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); - }else{ + } else { Messagebox.show( Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { retornaIdsOrgaoSemIndice(lsIdsOrgSemIndice) }), Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); } - + } } - - private String retornaIdsOrgaoSemIndice(Set s){ + + private String retornaIdsOrgaoSemIndice(Set s) { List l = new ArrayList(s); - if(l.size()==1){ + if (l.size() == 1) { return l.get(0).toString(); - }else{ + } else { StringBuilder sb = new StringBuilder(); sb.append(l.get(0).toString()); - for(int x = 1 ; x < l.size() ; x++){ - sb.append(", "+l.get(x).toString()); + for (int x = 1; x < l.size(); x++) { + sb.append(", " + l.get(x).toString()); } return sb.toString(); } } - - private boolean validarImpostoICMSEmpresa(List lsRuta){ + + private boolean validarImpostoICMSEmpresa(List lsRuta) { Set lsEmpresaId = new LinkedHashSet(); - - for (Ruta ruta: lsRuta){ - for (RutaEmpresa rutaEmpresa: ruta.getLsRutaEmpresa()){ - if (lsEmpresaId.contains(rutaEmpresa.getEmpresa().getEmpresaId())){ + + for (Ruta ruta : lsRuta) { + for (RutaEmpresa rutaEmpresa : ruta.getLsRutaEmpresa()) { + if (lsEmpresaId.contains(rutaEmpresa.getEmpresa().getEmpresaId())) { continue; } - + lsEmpresaId.add(rutaEmpresa.getEmpresa().getEmpresaId()); } } - - for (Integer empresaId: lsEmpresaId){ - for (EmpresaImposto empresaImposto: empresaImpostoService.buscarEmpresaImposto(empresaId)){ - if (empresaImposto.getIcms() == null){ + + for (Integer empresaId : lsEmpresaId) { + for (EmpresaImposto empresaImposto : empresaImpostoService.buscarEmpresaImposto(empresaId)) { + if (empresaImposto.getIcms() == null) { return false; } } } - + return true; } + public void onClick$btnAddRuta(Event ev) throws InterruptedException { if (cmbRuta.getSelectedItem() != null) { listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue()); @@ -216,7 +226,7 @@ public class CalcularPeajeController extends MyGenericForwardComposer { cmbRuta.setSelectedItem(null); } } - + public void onClick$btnRemoveRuta(Event ev) throws InterruptedException { Ruta ruta = (Ruta) selectedRutasList.getSelected(); listSelectedRutas.remove(ruta); @@ -254,5 +264,5 @@ public class CalcularPeajeController extends MyGenericForwardComposer { public void setLsRutas(List lsRutas) { this.lsRutas = lsRutas; } - + }