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;
@Autowired
private EmpresaImpostoService empresaImpostoService;
private Combobox cmbOrgaoConcedente;
private List<OrgaoConcedente> lsOrgaoConcedente;
private Radio rdConsiderarICMSNo;
private Radio rdConsiderarICMSSi;
private Combobox cmbRuta;
private List<Ruta> 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<OrgaoConcedente>();
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<Ruta> 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<Integer> s){
private String retornaIdsOrgaoSemIndice(Set<Integer> s) {
List l = new ArrayList<Integer>(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<Ruta> lsRuta){
private boolean validarImpostoICMSEmpresa(List<Ruta> lsRuta) {
Set<Integer> lsEmpresaId = new LinkedHashSet<Integer>();
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<Ruta> lsRutas) {
this.lsRutas = lsRutas;
}
}