fixed bug #7674: Correção no cálculo de pedágio

adc.: adicionado icms ao cálculo de pedágio

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@58026 d1611594-4594-4d17-8e1d-87c2c4800839
master
tharcisio 2016-07-18 22:11:58 +00:00
parent ce6bbb818c
commit cca030781e
1 changed files with 31 additions and 45 deletions

View File

@ -2,7 +2,6 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -11,14 +10,12 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Messagebox; import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.CalcularPeajeService; import com.rjconsultores.ventaboletos.service.CalcularPeajeService;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TramoService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("calcularPeajeController") @Controller("calcularPeajeController")
@ -32,13 +29,9 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
@Autowired @Autowired
private RutaService rutaService; private RutaService rutaService;
@Autowired @Autowired
private TramoService tramoService;
@Autowired
private CalcularPeajeService calcularPeajeService; private CalcularPeajeService calcularPeajeService;
private List<OrgaoConcedente> lsOrgaoConcedente;
private Combobox cmbOrgaoConcedente; private Combobox cmbOrgaoConcedente;
private List<OrgaoConcedente> lsOrgaoConcedente;
public List<OrgaoConcedente> getLsOrgaoConcedente() { public List<OrgaoConcedente> getLsOrgaoConcedente() {
return lsOrgaoConcedente; return lsOrgaoConcedente;
@ -61,55 +54,48 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
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) {
lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId)); lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId));
} }
for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ARTESP) { for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ARTESP) {
lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId)); lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId));
} }
} }
public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException { public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException {
try{ OrgaoConcedente orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
OrgaoConcedente orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
orgao = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId()); if (orgao.getIndicePeaje() != null) {
//buscar todas as linhas de um determinado orgao acima
if(null == orgao){return;}
List<Ruta> lsRuta = rutaService.buscaRutasFromOrgao(orgao); List<Ruta> lsRuta = rutaService.buscaRutasFromOrgao(orgao);
int[] retorno = calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao); try {
calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao);
if( retorno != null && retorno.length > 0 && retorno[0]==-1 ){
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdAsientosOuEixo", new Object[] { ""+retorno[1] }),
Labels.getLabel("indexController.mniCalculoPeaje.label"),
Messagebox.OK, Messagebox.INFORMATION);
}else if( retorno != null && retorno.length > 0 && retorno[0]==-2 ){
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { ""+retorno[1] }),
Labels.getLabel("indexController.mniCalculoPeaje.label"),
Messagebox.OK, Messagebox.INFORMATION);
}else if( retorno != null && retorno.length > 0 && retorno[0]==-3 ){
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixo", new Object[] { ""+retorno[1] }),
Labels.getLabel("indexController.mniCalculoPeaje.label"),
Messagebox.OK, Messagebox.INFORMATION);
}else{
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.suscribirOK"), Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.suscribirOK"),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.INFORMATION);
Messagebox.OK, Messagebox.INFORMATION);
} }
catch (RuntimeException e) {
// TODO throw: especific exception should be created
String error[] = e.getMessage().split(";");
String type = error[0];
String ruta = error[1];
if ("rutaSemQtdEixos".equals(type)) {
Messagebox.show(
}catch(NullPointerException e){ Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixos", new Object[] { ruta }),
return; Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
}
if ("rutaSemQtdAsientos".equals(type)) {
Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdAsientos", new Object[] { ruta }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
}
// TODO else: show some generic error for unexpected error
}
}
else {
Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
} }
} }
} }