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.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
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.zul.Combobox;
import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.CalcularPeajeService;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TramoService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("calcularPeajeController")
@ -32,13 +29,9 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
@Autowired
private RutaService rutaService;
@Autowired
private TramoService tramoService;
@Autowired
private CalcularPeajeService calcularPeajeService;
private List<OrgaoConcedente> lsOrgaoConcedente;
private Combobox cmbOrgaoConcedente;
private List<OrgaoConcedente> lsOrgaoConcedente;
public List<OrgaoConcedente> getLsOrgaoConcedente() {
return lsOrgaoConcedente;
@ -61,55 +54,48 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
super.doAfterCompose(comp);
lsOrgaoConcedente = new ArrayList<OrgaoConcedente>();
for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ANTT) {
lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId));
}
for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_ARTESP) {
lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId));
}
}
public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException {
try{
OrgaoConcedente orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
orgao = orgaoConcedenteService.obtenerID(orgao.getOrgaoConcedenteId());
//buscar todas as linhas de um determinado orgao acima
if(null == orgao){return;}
OrgaoConcedente orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
if (orgao.getIndicePeaje() != null) {
List<Ruta> lsRuta = rutaService.buscaRutasFromOrgao(orgao);
int[] retorno = 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{
try {
calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao);
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) {
// 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(
Labels.getLabel("calcularPeajeController.MSG.rutaSemQtdEixos", new Object[] { ruta }),
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
}
}catch(NullPointerException e){
return;
}
else {
Messagebox.show(
Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
}
}
}