alexandre.lima 2017-07-20 19:37:25 +00:00
parent 176560fcc4
commit 1ee5cbc7bb
1 changed files with 71 additions and 61 deletions

View File

@ -43,13 +43,13 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
private CalcularPeajeService calcularPeajeService; private CalcularPeajeService calcularPeajeService;
@Autowired @Autowired
private EmpresaImpostoService empresaImpostoService; private EmpresaImpostoService empresaImpostoService;
private Combobox cmbOrgaoConcedente; private Combobox cmbOrgaoConcedente;
private List<OrgaoConcedente> lsOrgaoConcedente; private List<OrgaoConcedente> lsOrgaoConcedente;
private Radio rdConsiderarICMSNo; private Radio rdConsiderarICMSNo;
private Radio rdConsiderarICMSSi; private Radio rdConsiderarICMSSi;
private Combobox cmbRuta; private Combobox cmbRuta;
private List<Ruta> listSelectedRutas; private List<Ruta> listSelectedRutas;
private MyListbox selectedRutasList; private MyListbox selectedRutasList;
@ -74,8 +74,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp); super.doAfterCompose(comp);
lsOrgaoConcedente = new ArrayList<OrgaoConcedente>(); lsOrgaoConcedente = new ArrayList<OrgaoConcedente>();
for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ANTT) { 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 { public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException {
OrgaoConcedente orgao ; OrgaoConcedente orgao;
boolean orgaoListaRutasHasIndices = true; boolean orgaoListaRutasHasIndices = true;
if(!listSelectedRutas.isEmpty()){ if (!listSelectedRutas.isEmpty()) {
orgao = null; orgao = null;
for(Ruta r : listSelectedRutas){ for (Ruta r : listSelectedRutas) {
if(r.getOrgaoConcedente().getIndicePeaje() == null){ if (r.getOrgaoConcedente().getIndicePeaje() == null) {
orgaoListaRutasHasIndices = false; orgaoListaRutasHasIndices = false;
lsIdsOrgSemIndice.add(r.getOrgaoConcedente().getOrgaoConcedenteId()); lsIdsOrgSemIndice.add(r.getOrgaoConcedente().getOrgaoConcedenteId());
} }
} }
}else{ } else {
orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()); orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
} }
if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices)) { if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices)) {
List<Ruta> lsRuta; List<Ruta> lsRuta;
if(!listSelectedRutas.isEmpty()){ if (!listSelectedRutas.isEmpty()) {
lsRuta = listSelectedRutas; lsRuta = listSelectedRutas;
}else{ } else {
lsRuta = rutaService.buscaRutasFromOrgao(orgao); lsRuta = rutaService.buscaRutasFromOrgao(orgao);
} }
boolean usarICMS; boolean usarICMS;
if(rdConsiderarICMSSi.isChecked()){ if (rdConsiderarICMSSi.isChecked()) {
usarICMS = true; usarICMS = true;
}else{ } else {
usarICMS = false; usarICMS = false;
} }
if (!validarImpostoICMSEmpresa(lsRuta) && usarICMS){ if (!validarImpostoICMSEmpresa(lsRuta) && usarICMS) {
Messagebox.show("Foram encontradas empresas com ICMS nulo, o cálculo não poderá ser realizado.", 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); Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.ERROR);
return; return;
} }
try { try {
calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao, usarICMS); calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao, usarICMS);
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.suscribirOK"), Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.suscribirOK"),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.INFORMATION); Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.INFORMATION);
} catch (RuntimeException e) { } catch (RuntimeException e) {
// TODO throw: especific exception should be created // TODO throw: especific exception should be created
String error[] = e.getMessage().split(";");
if (error.length == 2) { if (e.getMessage().trim().length() > 0) {
String type = error[0];
String ruta = error[1];
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( Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixos", new Object[] { ruta }), Labels.getLabel("MSG.Error"),
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); Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
} }
} else { } else {
Messagebox.show( e.printStackTrace();
Labels.getLabel("MSG.Error"),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
} }
// TODO else: show some generic error for unexpected error // 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 { } else {
if(orgao != null){ if (orgao != null) {
Messagebox.show( Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }), Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
}else{ } else {
Messagebox.show( Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { retornaIdsOrgaoSemIndice(lsIdsOrgSemIndice) }), Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { retornaIdsOrgaoSemIndice(lsIdsOrgSemIndice) }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
} }
} }
} }
private String retornaIdsOrgaoSemIndice(Set<Integer> s){ private String retornaIdsOrgaoSemIndice(Set<Integer> s) {
List l = new ArrayList<Integer>(s); List l = new ArrayList<Integer>(s);
if(l.size()==1){ if (l.size() == 1) {
return l.get(0).toString(); return l.get(0).toString();
}else{ } else {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(l.get(0).toString()); sb.append(l.get(0).toString());
for(int x = 1 ; x < l.size() ; x++){ for (int x = 1; x < l.size(); x++) {
sb.append(", "+l.get(x).toString()); sb.append(", " + l.get(x).toString());
} }
return sb.toString(); return sb.toString();
} }
} }
private boolean validarImpostoICMSEmpresa(List<Ruta> lsRuta){ private boolean validarImpostoICMSEmpresa(List<Ruta> lsRuta) {
Set<Integer> lsEmpresaId = new LinkedHashSet<Integer>(); Set<Integer> lsEmpresaId = new LinkedHashSet<Integer>();
for (Ruta ruta: lsRuta){ for (Ruta ruta : lsRuta) {
for (RutaEmpresa rutaEmpresa: ruta.getLsRutaEmpresa()){ for (RutaEmpresa rutaEmpresa : ruta.getLsRutaEmpresa()) {
if (lsEmpresaId.contains(rutaEmpresa.getEmpresa().getEmpresaId())){ if (lsEmpresaId.contains(rutaEmpresa.getEmpresa().getEmpresaId())) {
continue; continue;
} }
lsEmpresaId.add(rutaEmpresa.getEmpresa().getEmpresaId()); lsEmpresaId.add(rutaEmpresa.getEmpresa().getEmpresaId());
} }
} }
for (Integer empresaId: lsEmpresaId){ for (Integer empresaId : lsEmpresaId) {
for (EmpresaImposto empresaImposto: empresaImpostoService.buscarEmpresaImposto(empresaId)){ for (EmpresaImposto empresaImposto : empresaImpostoService.buscarEmpresaImposto(empresaId)) {
if (empresaImposto.getIcms() == null){ if (empresaImposto.getIcms() == null) {
return false; return false;
} }
} }
} }
return true; return true;
} }
public void onClick$btnAddRuta(Event ev) throws InterruptedException { public void onClick$btnAddRuta(Event ev) throws InterruptedException {
if (cmbRuta.getSelectedItem() != null) { if (cmbRuta.getSelectedItem() != null) {
listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue()); listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue());
@ -216,7 +226,7 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
cmbRuta.setSelectedItem(null); cmbRuta.setSelectedItem(null);
} }
} }
public void onClick$btnRemoveRuta(Event ev) throws InterruptedException { public void onClick$btnRemoveRuta(Event ev) throws InterruptedException {
Ruta ruta = (Ruta) selectedRutasList.getSelected(); Ruta ruta = (Ruta) selectedRutasList.getSelected();
listSelectedRutas.remove(ruta); listSelectedRutas.remove(ruta);
@ -254,5 +264,5 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
public void setLsRutas(List<Ruta> lsRutas) { public void setLsRutas(List<Ruta> lsRutas) {
this.lsRutas = lsRutas; this.lsRutas = lsRutas;
} }
} }