Fixes Bug #0009235
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@71675 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
176560fcc4
commit
1ee5cbc7bb
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue