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;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue