fixes bug#al-1091

qua:
dev:Wallace

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@114042 d1611594-4594-4d17-8e1d-87c2c4800839
master
aristides 2022-09-01 18:31:24 +00:00
parent b9fca003e3
commit b547cb2c65
7 changed files with 444 additions and 21 deletions

View File

@ -17,11 +17,15 @@ import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Radio; import org.zkoss.zul.Radio;
import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.CasetaPeaje;
import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.EmpresaImposto;
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.entidad.RutaCaseta;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.entidad.RutaSecuencia;
import com.rjconsultores.ventaboletos.service.CalcularPeajeService; import com.rjconsultores.ventaboletos.service.CalcularPeajeService;
import com.rjconsultores.ventaboletos.service.CasetaPeajeService;
import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; import com.rjconsultores.ventaboletos.service.EmpresaImpostoService;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
@ -43,6 +47,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
private CalcularPeajeService calcularPeajeService; private CalcularPeajeService calcularPeajeService;
@Autowired @Autowired
private EmpresaImpostoService empresaImpostoService; private EmpresaImpostoService empresaImpostoService;
@Autowired
private CasetaPeajeService casetaPeajeService;
private Combobox cmbOrgaoConcedente; private Combobox cmbOrgaoConcedente;
private List<OrgaoConcedente> lsOrgaoConcedente; private List<OrgaoConcedente> lsOrgaoConcedente;
@ -54,6 +60,10 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
private List<Ruta> listSelectedRutas; private List<Ruta> listSelectedRutas;
private MyListbox selectedRutasList; private MyListbox selectedRutasList;
private List<Ruta> lsRutas; private List<Ruta> lsRutas;
private Combobox cmbCasetaPeaje;
private List<CasetaPeaje> listSelectedCasetaPeaje;
private MyListbox selectedCasetaPeajeList;
private List<CasetaPeaje> lsCasetaPeaje;
Set<Integer> lsIdsOrgSemIndice = new HashSet<Integer>(); Set<Integer> lsIdsOrgSemIndice = new HashSet<Integer>();
public List<OrgaoConcedente> getLsOrgaoConcedente() { public List<OrgaoConcedente> getLsOrgaoConcedente() {
@ -89,29 +99,38 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
} }
lsRutas = rutaService.buscarRutasPorEmpresas(UsuarioLogado.getUsuarioLogado().getEmpresa()); lsRutas = rutaService.buscarRutasPorEmpresas(UsuarioLogado.getUsuarioLogado().getEmpresa());
listSelectedRutas = new ArrayList<Ruta>(); listSelectedRutas = new ArrayList<Ruta>();
lsCasetaPeaje = casetaPeajeService.buscarTodosOrdenadoPorDescricao();
listSelectedCasetaPeaje = new ArrayList<CasetaPeaje>();
} }
public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException { public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException {
OrgaoConcedente orgao; OrgaoConcedente orgao = null;
boolean orgaoListaRutasHasIndices = true; boolean orgaoListaRutasHasIndices = true;
List<Ruta> lsRutaAuxiliar = new ArrayList<Ruta>();
if(!validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio(lsRutaAuxiliar)) {
return;
};
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 if(cmbOrgaoConcedente.getSelectedItem()!= null) {
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) || !listSelectedCasetaPeaje.isEmpty() ) {
List<Ruta> lsRuta; List<Ruta> lsRuta;
if (!listSelectedRutas.isEmpty()) { if (!listSelectedRutas.isEmpty()) {
lsRuta = listSelectedRutas; lsRuta = listSelectedRutas;
} else { } else if (!listSelectedCasetaPeaje.isEmpty()){
lsRuta=rutaService.buscarPorOrgaoEcasetaPeaje(orgao,converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(listSelectedCasetaPeaje));
}
else {
lsRuta = rutaService.buscaRutasFromOrgao(orgao); lsRuta = rutaService.buscaRutasFromOrgao(orgao);
} }
boolean usarICMS; boolean usarICMS;
@ -129,7 +148,7 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
try { try {
calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao, usarICMS); calcularPeajeService.gerarSQLInserirPeajes(lsRuta, orgao, usarICMS,converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(listSelectedCasetaPeaje));
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);
@ -181,6 +200,81 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
} }
} }
private Boolean validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio(List<Ruta> lsRutaAuxiliar) throws InterruptedException {
if (!listSelectedCasetaPeaje.isEmpty() && !listSelectedRutas.isEmpty()) {
retornarApenasRutaQuePossuiSecuenciasComAsPracas(lsRutaAuxiliar);
for (Ruta ruta : listSelectedRutas) {
if (!lsRutaAuxiliar.contains(ruta)) {
Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.linhaSemPracaDePedagio", new Object[] { ruta }),
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.ERROR);
return false;
}
}
}
return true;
}
private void retornarApenasRutaQuePossuiSecuenciasComAsPracas(List<Ruta> lsRutaAuxiliar) {
List<Ruta> listSelectedRutasAux = recarregarAsRutasComBanco(listSelectedRutas);
for (CasetaPeaje casetaPeaje : listSelectedCasetaPeaje) {
for (Ruta r : listSelectedRutasAux) {
if (!r.getRutaSecuenciaList().isEmpty()) {
Boolean isRutaSecuencia = false;
for (RutaSecuencia rutaSecuencia : r.getRutaSecuenciaList()) {
if (isRutaSecuencia)
break;
if (rutaSecuencia.getActivo()) {
for (RutaCaseta rutaCaseta : rutaSecuencia.getLsRutaCase()) {
if (rutaCaseta.getActivo() && rutaCaseta.getCasetaPeaje().getCasetaPeajeId().intValue() == casetaPeaje.getCasetaPeajeId().intValue()) {
lsRutaAuxiliar.add(r);
isRutaSecuencia = true;
break;
}
}
}
}
}
}
}
}
List<Ruta> recarregarAsRutasComBanco(List<Ruta> lsRutasSelecionadas){
List<Integer> lsRutaIds=retornarListRutaIds(lsRutasSelecionadas);
Integer[] arrayDeRutaIds = converteListIdsEmArrayIds(lsRutaIds);
return rutaService.buscarPorIds(arrayDeRutaIds);
}
private Integer[] converteListIdsEmArrayIds(List<Integer> ids) {
Integer[] arrayIds = new Integer[ids.size()];
arrayIds = ids.toArray(arrayIds);
return arrayIds;
}
private List<Integer> retornarListRutaIds(List<Ruta> lsRutasSelecionadas) {
List<Integer> listRutasId = new ArrayList<Integer>();
for (Ruta r : lsRutasSelecionadas) {
listRutasId.add(r.getRutaId());
}
return listRutasId;
}
private Integer[] converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(List<CasetaPeaje> lsCasetaPeaje) {
if(!lsCasetaPeaje.isEmpty()) {
return converteListIdsEmArrayIds(retornarListCasetaPeajeIds(lsCasetaPeaje));
}
return null;
}
private List<Integer> retornarListCasetaPeajeIds(List<CasetaPeaje> lsCasetaPeaje) {
List<Integer> listCasetaPeaje= new ArrayList<Integer>();
for (CasetaPeaje c : lsCasetaPeaje) {
listCasetaPeaje.add(c.getCasetaPeajeId());
}
return listCasetaPeaje;
}
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) {
@ -226,6 +320,20 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
cmbRuta.setSelectedItem(null); cmbRuta.setSelectedItem(null);
} }
} }
public void onClick$btnAddCasetaPeaje(Event ev) throws InterruptedException {
if (cmbCasetaPeaje.getSelectedItem() != null) {
listSelectedCasetaPeaje.add((CasetaPeaje) cmbCasetaPeaje.getSelectedItem().getValue());
selectedCasetaPeajeList.setData(listSelectedCasetaPeaje);
cmbCasetaPeaje.setSelectedItem(null);
}
}
public void onClick$btnRemoveCasetaPeaje(Event ev) throws InterruptedException {
CasetaPeaje casetaPeaje= (CasetaPeaje) selectedCasetaPeajeList.getSelected();
listSelectedCasetaPeaje.remove(casetaPeaje);
selectedCasetaPeajeList.setData(listSelectedCasetaPeaje);
}
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();
@ -273,4 +381,30 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
this.lsRutas = lsRutas; this.lsRutas = lsRutas;
} }
public Combobox getCmbCasetaPeaje() {
return cmbCasetaPeaje;
}
public void setCmbCasetaPeaje(Combobox cmbCasetaPeaje) {
this.cmbCasetaPeaje = cmbCasetaPeaje;
}
public List<CasetaPeaje> getListSelectedCasetaPeaje() {
return listSelectedCasetaPeaje;
}
public void setListSelectedCasetaPeaje(List<CasetaPeaje> listSelectedCasetaPeaje) {
this.listSelectedCasetaPeaje = listSelectedCasetaPeaje;
}
public List<CasetaPeaje> getLsCasetaPeaje() {
return lsCasetaPeaje;
}
public void setLsCasetaPeaje(List<CasetaPeaje> lsCasetaPeaje) {
this.lsCasetaPeaje = lsCasetaPeaje;
}
} }

View File

@ -14,19 +14,24 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels; import org.zkoss.util.resource.Labels;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.CheckEvent;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zkplus.databind.BindingListModelList;
import org.zkoss.zul.Checkbox; import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Constraint; import org.zkoss.zul.Constraint;
import org.zkoss.zul.Div;
import org.zkoss.zul.Messagebox; import org.zkoss.zul.Messagebox;
import com.rjconsultores.ventaboletos.constantes.TipoSeguro; import com.rjconsultores.ventaboletos.constantes.TipoSeguro;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarifaOficialService; import com.rjconsultores.ventaboletos.service.TarifaOficialService;
@ -35,6 +40,7 @@ import com.rjconsultores.ventaboletos.utilerias.CustomEnum;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderParada;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaDesc; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaDesc;
/** /**
@ -55,23 +61,41 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
private TarifaOficialService tarifaOficialService; private TarifaOficialService tarifaOficialService;
@Autowired @Autowired
private OrgaoConcedenteService orgaoConcedenteService; private OrgaoConcedenteService orgaoConcedenteService;
@Autowired
private ParadaService paradaService;
private List<Parada> lsParada;
private List<Ruta> lsRuta; private List<Ruta> lsRuta;
private List<OrgaoConcedente> lsOrgaoConcedente; private List<OrgaoConcedente> lsOrgaoConcedente;
private List<Empresa> lsEmpresa; private List<Empresa> lsEmpresa;
private Combobox cmbRuta; private Combobox cmbRuta;
private Combobox cmbOrgaoConcedente; private Combobox cmbOrgaoConcedente;
private Combobox cmbEmpresa; private Combobox cmbEmpresa;
private Combobox cmbParada;
private Checkbox chkTarifa; private Checkbox chkTarifa;
private Checkbox chkTaxaEmbarque; private Checkbox chkTaxaEmbarque;
private Checkbox chkArredondarTaxaEmbarque; private Checkbox chkArredondarTaxaEmbarque;
private Checkbox chkSeguro; private Checkbox chkSeguro;
private Checkbox chkZerarTabela; private Checkbox chkZerarTabela;
private Checkbox chkPedagio; private Checkbox chkPedagio;
private Checkbox chkGerarTaxaDeEmbarquePorLocalidade;
private Checkbox chkTipoSeguro; private Checkbox chkTipoSeguro;
private List<Ruta> listSelectedRutas; private List<Ruta> listSelectedRutas;
private MyListbox selectedRutasList; private MyListbox selectedRutasList;
private List<Empresa> lsEmpresaSelected; private List<Parada> listSelectedParadas;
private MyListbox selectedParadasList;
private List<Empresa> lsEmpresaSelected;
private Boolean esperar = false; private Boolean esperar = false;
private Div paradaDiv;
public Div getParadaDiv() {
return paradaDiv;
}
public void setParadaDiv(Div paradaDiv) {
this.paradaDiv = paradaDiv;
}
public List<Empresa> getLsEmpresaSelected() { public List<Empresa> getLsEmpresaSelected() {
return lsEmpresaSelected; return lsEmpresaSelected;
@ -84,6 +108,11 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
public List<Ruta> getLsRuta() { public List<Ruta> getLsRuta() {
return lsRuta; return lsRuta;
} }
public void setLsRuta(List<Ruta> lsRuta) {
this.lsRuta = lsRuta;
}
public List<OrgaoConcedente> getLsOrgaoConcedente() { public List<OrgaoConcedente> getLsOrgaoConcedente() {
return lsOrgaoConcedente; return lsOrgaoConcedente;
@ -98,15 +127,23 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos();
lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa();
lsRuta = rutaService.buscarRutasPorEmpresas(lsEmpresa); lsRuta = rutaService.buscarRutasPorEmpresas(lsEmpresa);
super.doAfterCompose(comp); super.doAfterCompose(comp);
selectedRutasList.setItemRenderer(new RenderRutaDesc()); selectedRutasList.setItemRenderer(new RenderRutaDesc());
selectedParadasList.setItemRenderer(new RenderParada());
listSelectedRutas = new ArrayList<Ruta>(); listSelectedRutas = new ArrayList<Ruta>();
lsEmpresaSelected = new ArrayList<Empresa>(); lsEmpresaSelected = new ArrayList<Empresa>();
listSelectedParadas = new ArrayList<Parada>();
paradaDiv.setVisible(false);
if (!ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.EXIBE_TPP.getDescricao())) { if (!ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.EXIBE_TPP.getDescricao())) {
chkTipoSeguro.setVisible(false); chkTipoSeguro.setVisible(false);
} }
} }
public void onClick$chkZerarTabela(Event ev) public void onClick$chkZerarTabela(Event ev)
@ -124,7 +161,8 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
chkTipoSeguro.setChecked(false); chkTipoSeguro.setChecked(false);
chkPedagio.setDisabled(true); chkPedagio.setDisabled(true);
chkArredondarTaxaEmbarque.setChecked(false); chkArredondarTaxaEmbarque.setChecked(false);
chkArredondarTaxaEmbarque.setDisabled(true); chkArredondarTaxaEmbarque.setDisabled(true);
paradaDiv.setVisible(true);
} else } else
{ {
chkTarifa.setDisabled(false); chkTarifa.setDisabled(false);
@ -135,6 +173,43 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
chkPedagio.setDisabled(false); chkPedagio.setDisabled(false);
chkArredondarTaxaEmbarque.setDisabled(false); chkArredondarTaxaEmbarque.setDisabled(false);
chkArredondarTaxaEmbarque.setChecked(true); chkArredondarTaxaEmbarque.setChecked(true);
paradaDiv.setVisible(false);
}
}
public void onCheck$chkGerarTaxaDeEmbarquePorLocalidade(CheckEvent ev)
{
if (chkGerarTaxaDeEmbarquePorLocalidade.isChecked())
{
listSelectedParadas = new ArrayList<Parada>();
carregarParadas();
chkTaxaEmbarque.setChecked(true);
chkTaxaEmbarque.setDisabled(true);
chkTarifa.setChecked(false);
chkTarifa.setDisabled(true);
chkSeguro.setChecked(false);
chkSeguro.setDisabled(true);
chkTipoSeguro.setDisabled(true);
chkPedagio.setChecked(false);
chkTipoSeguro.setChecked(false);
chkPedagio.setDisabled(true);
paradaDiv.setVisible(true);
} else
{
listSelectedParadas = new ArrayList<Parada>();
selectedParadasList.setData(listSelectedParadas);
chkTarifa.setDisabled(false);
chkTarifa.setChecked(true);
chkTaxaEmbarque.setDisabled(false);
chkTaxaEmbarque.setChecked(false);
chkSeguro.setDisabled(false);
chkTipoSeguro.setDisabled(false);
chkPedagio.setDisabled(false);
chkArredondarTaxaEmbarque.setDisabled(false);
chkArredondarTaxaEmbarque.setChecked(true);
paradaDiv.setVisible(false);
lsParada=null;
} }
} }
@ -151,11 +226,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
lsEmpresaSelected = Arrays.asList((Empresa) cmbEmpresa.getSelectedItem().getValue()); lsEmpresaSelected = Arrays.asList((Empresa) cmbEmpresa.getSelectedItem().getValue());
if (listSelectedRutas == null || listSelectedRutas.isEmpty()) {
limparRutas = true;
listSelectedRutas = lsRuta;
}
if (orgaoConcedente == null) { if (orgaoConcedente == null) {
int resp = Messagebox.show( int resp = Messagebox.show(
Labels.getLabel("generarTarifaOrgaoController.MSG.gerarTodosOrgaos"), Labels.getLabel("generarTarifaOrgaoController.MSG.gerarTodosOrgaos"),
@ -166,6 +237,15 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
return; return;
} }
} }
if (listSelectedRutas == null || listSelectedRutas.isEmpty()) {
limparRutas = true;
if(chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) {
lsRuta=rutaService.buscarRutasPorEmpresaOrgaoConcedenteParadaIds((Empresa) cmbEmpresa.getSelectedItem().getValue(), orgaoConcedente,converteListIdsEmArrayIds(retornarListParadaIds(listSelectedParadas)));
}
listSelectedRutas = lsRuta;
}
if (!chkZerarTabela.isChecked()) { if (!chkZerarTabela.isChecked()) {
try { try {
@ -175,9 +255,12 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
} }
boolean gerarTabelaZerada = !chkTarifa.isChecked(); boolean gerarTabelaZerada = !chkTarifa.isChecked();
List<Integer> lsParadaIds =null;
if (chkTaxaEmbarque.isChecked()) { if (chkTaxaEmbarque.isChecked()) {
tarifaOficialService.atualizarTaxaEmbarque(listSelectedRutas, orgaoConcedente.getOrgaoConcedenteId(), gerarTabelaZerada, lsEmpresaSelected); if(chkGerarTaxaDeEmbarquePorLocalidade.isChecked() && !listSelectedParadas.isEmpty()) {
lsParadaIds=retornarListParadaIds(listSelectedParadas);
}
tarifaOficialService.atualizarTaxaEmbarque(listSelectedRutas, orgaoConcedente.getOrgaoConcedenteId(), gerarTabelaZerada, lsEmpresaSelected,lsParadaIds);
} }
if (chkSeguro.isChecked()) { if (chkSeguro.isChecked()) {
@ -210,9 +293,8 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
} }
} else { } else {
try { try {
tarifaOficialService.gerarAtualizarTabelaZerada(listSelectedRutas, orgaoConcedente.getOrgaoConcedenteId(), lsEmpresaSelected); tarifaOficialService.gerarAtualizarTabelaZerada(listSelectedRutas, orgaoConcedente.getOrgaoConcedenteId(), lsEmpresaSelected,null);
Messagebox.show(Labels.getLabel("generarTarifaOrgaoController.MSG.suscribirOK"), Messagebox.show(Labels.getLabel("generarTarifaOrgaoController.MSG.suscribirOK"),
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"), Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
@ -222,7 +304,6 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"), Labels.getLabel("indexController.mniGenerarTarifaOrgao.label"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
} }
} }
if (limparRutas) { if (limparRutas) {
listSelectedRutas.clear(); listSelectedRutas.clear();
@ -246,6 +327,9 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue()); listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue());
selectedRutasList.setData(listSelectedRutas); selectedRutasList.setData(listSelectedRutas);
cmbRuta.setSelectedItem(null); cmbRuta.setSelectedItem(null);
if (chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) {
carregarParadas();
}
} }
} }
@ -253,7 +337,36 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
Ruta ruta = (Ruta) selectedRutasList.getSelected(); Ruta ruta = (Ruta) selectedRutasList.getSelected();
listSelectedRutas.remove(ruta); listSelectedRutas.remove(ruta);
selectedRutasList.setData(listSelectedRutas); selectedRutasList.setData(listSelectedRutas);
if (chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) {
carregarParadas();
}
} }
public void onClick$btnAddParada(Event ev) throws InterruptedException {
if (esperar) {
cmbParada.setSelectedItem(null);
return;
}
if (cmbParada.getSelectedItem() != null) {
listSelectedParadas.add((Parada) cmbParada.getSelectedItem().getValue());
selectedParadasList.setData(listSelectedParadas);
cmbParada.setSelectedItem(null);
}
}
public void onClick$btnRemovePArada(Event ev) throws InterruptedException {
Parada parada = (Parada) selectedParadasList.getSelected();
listSelectedParadas.remove(parada);
selectedParadasList.setData(listSelectedParadas);
}
public List<Parada> getLsParada() {
return lsParada;
}
public void onSelect$cmbOrgaoConcedente(Event ev) { public void onSelect$cmbOrgaoConcedente(Event ev) {
onSelectEmpresaOrgaoConcedente(); onSelectEmpresaOrgaoConcedente();
@ -262,6 +375,8 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
public void onSelect$cmbEmpresa(Event ev) throws InterruptedException { public void onSelect$cmbEmpresa(Event ev) throws InterruptedException {
onSelectEmpresaOrgaoConcedente(); onSelectEmpresaOrgaoConcedente();
} }
public void onSelectEmpresaOrgaoConcedente() { public void onSelectEmpresaOrgaoConcedente() {
Constraint constraint = cmbEmpresa.getConstraint(); Constraint constraint = cmbEmpresa.getConstraint();
@ -273,6 +388,12 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
esperar = true; esperar = true;
lsRuta = rutaService.buscarRutasPorEmpresaOrgaoConcedente(empresaSelected, orgaoSelected); lsRuta = rutaService.buscarRutasPorEmpresaOrgaoConcedente(empresaSelected, orgaoSelected);
BindingListModelList l = new BindingListModelList(lsRuta, true);
cmbRuta.setModel(l);
int indexToRemove = 0; int indexToRemove = 0;
boolean achou = false; boolean achou = false;
@ -302,9 +423,78 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer {
Ruta ruta = listSelectedRutas.get(i); Ruta ruta = listSelectedRutas.get(i);
listSelectedRutas.remove(ruta); listSelectedRutas.remove(ruta);
} }
if(chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) {
carregarParadas();
}
selectedRutasList.setData(listSelectedRutas); selectedRutasList.setData(listSelectedRutas);
cmbRuta.setSelectedItem(null); cmbRuta.setSelectedItem(null);
esperar = false; esperar = false;
} }
private void carregarParadas() {
if (!listSelectedRutas.isEmpty()) {
lsParada = paradaService.obtenerOrigenPorListRutaIds(null, null, converteListIdsEmArrayIds(retornarListRutaIds(listSelectedRutas)));
} else {
if (lsRuta.isEmpty()) {
Constraint constraint = cmbEmpresa.getConstraint();
cmbEmpresa.setConstraint("");
Empresa empresaSelected = cmbEmpresa.getSelectedItem() == null ? null : (Empresa) cmbEmpresa.getSelectedItem().getValue();
cmbEmpresa.setConstraint(constraint);
OrgaoConcedente orgaoSelected = cmbOrgaoConcedente.getSelectedItem() == null ? null : (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue();
lsParada = paradaService.obtenerOrigenPorListRutaIds(orgaoSelected == null ? null : orgaoSelected.getOrgaoConcedenteId(), empresaSelected == null ? null : empresaSelected.getEmpresaId(), null);
} else {
lsParada = paradaService.obtenerOrigenPorListRutaIds(null, null, converteListIdsEmArrayIds(retornarListRutaIds(lsRuta)));
}
}
List<Parada> listSelectedParadasAux = new ArrayList<Parada>();
listSelectedParadasAux.addAll(listSelectedParadas);
if(!listSelectedParadas.isEmpty()) {
for(Parada parada :listSelectedParadasAux ) {
if(!lsParada.contains(parada)) {
listSelectedParadas.remove(parada);
}
}
}
BindingListModelList l = new BindingListModelList(lsParada, true);
cmbParada.setModel(l);
selectedParadasList.setData(listSelectedParadas);
}
private Integer[] converteListIdsEmArrayIds(List<Integer> ids) {
Integer[] arrayIds = new Integer[ids.size()];
arrayIds = ids.toArray(arrayIds);
return arrayIds;
}
private List<Integer> retornarListRutaIds(List<Ruta> lsRutasSelecionadas) {
List<Integer> listRutasId = new ArrayList<Integer>();
for (Ruta r : lsRutasSelecionadas) {
listRutasId.add(r.getRutaId());
}
return listRutasId;
}
private List<Integer> retornarListParadaIds(List<Parada> lsParadassSelecionadas) {
List<Integer> listParadasId = new ArrayList<Integer>();
for (Parada p : lsParadassSelecionadas) {
listParadasId.add(p.getParadaId());
}
return listParadasId;
}
} }

View File

@ -6352,6 +6352,10 @@ generarTarifaOrgaoController.labelAddRuta.value=Adicionar Linha
generarTarifaOrgaoController.labelRemoveRuta.value=Remover Linha generarTarifaOrgaoController.labelRemoveRuta.value=Remover Linha
generarTarifaOrgaoController.labelRuta.value=Linha generarTarifaOrgaoController.labelRuta.value=Linha
generarTarifaOrgaoController.labelOrgao.value=Órgão generarTarifaOrgaoController.labelOrgao.value=Órgão
generarTarifaOrgaoController.labelAddLocalidade.value = Adicionar Localidade
generarTarifaOrgaoController.labelRemoveLocalidade.value = Remover Localidade
generarTarifaOrgaoController.labelLocalidade.value = Localidade
generarTarifaOrgaoController.labelGerarTaxaDeEmbarquePorLocalidade.value=Gerar Taxa de Embarque por Localidade
#Copiar Tarifa Oficial #Copiar Tarifa Oficial
copiarTarifaOficialController.MSG.copiaOK=Tarifa copiada com sucesso copiarTarifaOficialController.MSG.copiaOK=Tarifa copiada com sucesso
@ -6412,7 +6416,12 @@ calcularPeajeController.MSG.suscribirOK=Operação realizada com sucesso
calcularPeajeController.MSG.rutaSemQtdAsientos=Não há registro de quantidade de assentos na linha de ID calcularPeajeController.MSG.rutaSemQtdAsientos=Não há registro de quantidade de assentos na linha de ID
calcularPeajeController.MSG.rutaSemQtdEixos=Não há registro de quantidade de eixos na linha de ID calcularPeajeController.MSG.rutaSemQtdEixos=Não há registro de quantidade de eixos na linha de ID
calcularPeajeController.MSG.orgaoSemIndice=Não há registro de indice para o orgão de ID calcularPeajeController.MSG.orgaoSemIndice=Não há registro de indice para o orgão de ID
calcularPeajeController.MSG.linhaSemPracaDePedagio=A linha de ID = {0} não possui secuência configurada para pelo menos uma das praças de pedágio, informada.
calcularPeajeController.lhConsiderarICMS=Considerar ICMS: Sim / Não calcularPeajeController.lhConsiderarICMS=Considerar ICMS: Sim / Não
calcularPeajeController.labelCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.cmbCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.labelRemoveCasetaPeaje.value = Remover Praça de Pedágio
calcularPeajeController.labelAddCasetaPeaje.value = Adcionar Praça de Pedágio
# Alteracao preco Peaje # Alteracao preco Peaje
busquedaAlteracaoPrecoPedagioController.window.title=Alteração de Preço / Pedágio busquedaAlteracaoPrecoPedagioController.window.title=Alteração de Preço / Pedágio

View File

@ -6383,6 +6383,10 @@ generarTarifaOrgaoController.labelAddRuta.value = Adicionar Ruta
generarTarifaOrgaoController.labelRemoveRuta.value = Remover Ruta generarTarifaOrgaoController.labelRemoveRuta.value = Remover Ruta
generarTarifaOrgaoController.labelRuta.value = Ruta generarTarifaOrgaoController.labelRuta.value = Ruta
generarTarifaOrgaoController.labelOrgao.value = Instituición generarTarifaOrgaoController.labelOrgao.value = Instituición
generarTarifaOrgaoController.labelAddLocalidade.value = Adicionar Localidade
generarTarifaOrgaoController.labelRemoveLocalidade.value = Remover Localidade
generarTarifaOrgaoController.labelLocalidade.value = Localidade
generarTarifaOrgaoController.labelGerarTaxaDeEmbarquePorLocalidade.value=Gerar Taxa de Embarque por Localidade
#Copiar Tarifa Oficial #Copiar Tarifa Oficial
copiarTarifaOficialController.MSG.copiaOK=Tarifa se copió existosamente copiarTarifaOficialController.MSG.copiaOK=Tarifa se copió existosamente
@ -6450,7 +6454,12 @@ calcularPeajeController.MSG.suscribirOK = Operación se realizó existosamente
calcularPeajeController.MSG.rutaSemQtdAsientos = No hay registros de cantidad de asientos en la ruta de ID = {0} calcularPeajeController.MSG.rutaSemQtdAsientos = No hay registros de cantidad de asientos en la ruta de ID = {0}
calcularPeajeController.MSG.rutaSemQtdEixos = No hay registros de cantidad de ejes en la ruta de ID = {0} calcularPeajeController.MSG.rutaSemQtdEixos = No hay registros de cantidad de ejes en la ruta de ID = {0}
calcularPeajeController.MSG.orgaoSemIndice = No hay registrios de indice para la instituicion de ID = {0} calcularPeajeController.MSG.orgaoSemIndice = No hay registrios de indice para la instituicion de ID = {0}
calcularPeajeController.MSG.linhaSemPracaDePedagio=A linha de ID = {0} não possui secuência configurada para pelo menos uma das praças de pedágio, informada.
calcularPeajeController.lhConsiderarICMS = Considerar ICMS: Si / No calcularPeajeController.lhConsiderarICMS = Considerar ICMS: Si / No
calcularPeajeController.labelCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.cmbCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.labelRemoveCasetaPeaje.value = Remover Praça de Pedágio
calcularPeajeController.labelAddCasetaPeaje.value = Adcionar Praça de Pedágio
# Alteracao preco Peaje # Alteracao preco Peaje
busquedaAlteracaoPrecoPedagioController.window.title = Cambio de Precio / Peaje busquedaAlteracaoPrecoPedagioController.window.title = Cambio de Precio / Peaje

View File

@ -6749,6 +6749,10 @@ generarTarifaOrgaoController.labelAddRuta.value = Adicionar Linha
generarTarifaOrgaoController.labelRemoveRuta.value = Remover Linha generarTarifaOrgaoController.labelRemoveRuta.value = Remover Linha
generarTarifaOrgaoController.labelRuta.value = Linha generarTarifaOrgaoController.labelRuta.value = Linha
generarTarifaOrgaoController.labelOrgao.value = Órgão generarTarifaOrgaoController.labelOrgao.value = Órgão
generarTarifaOrgaoController.labelAddLocalidade.value = Adicionar Localidade
generarTarifaOrgaoController.labelRemoveLocalidade.value = Remover Localidade
generarTarifaOrgaoController.labelLocalidade.value = Localidade
generarTarifaOrgaoController.labelGerarTaxaDeEmbarquePorLocalidade.value=Gerar Taxa de Embarque por Localidade
#Copiar Tarifa Oficial #Copiar Tarifa Oficial
copiarTarifaOficialController.MSG.copiaOK=Tarifa copiada com sucesso copiarTarifaOficialController.MSG.copiaOK=Tarifa copiada com sucesso
@ -6809,7 +6813,13 @@ calcularPeajeController.MSG.suscribirOK = Operação realizada com sucesso
calcularPeajeController.MSG.rutaSemQtdAsientos = Não há registro de quantidade de assentos na linha de ID = {0} calcularPeajeController.MSG.rutaSemQtdAsientos = Não há registro de quantidade de assentos na linha de ID = {0}
calcularPeajeController.MSG.rutaSemQtdEixos = Não há registro de quantidade de eixos na linha de ID = {0} calcularPeajeController.MSG.rutaSemQtdEixos = Não há registro de quantidade de eixos na linha de ID = {0}
calcularPeajeController.MSG.orgaoSemIndice = Não há registro de indice para o orgão de ID = {0} calcularPeajeController.MSG.orgaoSemIndice = Não há registro de indice para o orgão de ID = {0}
calcularPeajeController.MSG.linhaSemPracaDePedagio=A linha de ID = {0} não possui secuência configurada para pelo menos uma das praças de pedágio, informada.
calcularPeajeController.lhConsiderarICMS = Considerar ICMS: Sim / Não calcularPeajeController.lhConsiderarICMS = Considerar ICMS: Sim / Não
calcularPeajeController.labelCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.cmbCasetaPeaje.value = Praça De Pedágio
calcularPeajeController.labelRemoveCasetaPeaje.value = Remover Praça de Pedágio
calcularPeajeController.labelAddCasetaPeaje.value = Adcionar Praça de Pedágio
# Alteracao preco Peaje # Alteracao preco Peaje
busquedaAlteracaoPrecoPedagioController.window.title = Alteração de Preço / Pedágio busquedaAlteracaoPrecoPedagioController.window.title = Alteração de Preço / Pedágio

View File

@ -6,7 +6,7 @@
<zk> <zk>
<window id="winCalcularPeaje" border="normal" <window id="winCalcularPeaje" border="normal"
apply="${calcularPeajeController}" width="400px" height="657x" apply="${calcularPeajeController}" width="400px" height="750x"
contentStyle="overflow:auto" contentStyle="overflow:auto"
title="${c:l('calcularPeajeController.window.title')}"> title="${c:l('calcularPeajeController.window.title')}">
<toolbar> <toolbar>
@ -40,9 +40,9 @@
value="${c:l('calcularPeajeController.lhConsiderarICMS')}" /> value="${c:l('calcularPeajeController.lhConsiderarICMS')}" />
<radiogroup Id="indConsiderarICMS" > <radiogroup Id="indConsiderarICMS" >
<radio id="rdConsiderarICMSSi" <radio id="rdConsiderarICMSSi"
label="${c:l('MSG.SI')}" checked = "true"/> label="${c:l('MSG.SI')}" />
<radio id="rdConsiderarICMSNo" <radio id="rdConsiderarICMSNo"
label="${c:l('MSG.NO')}" /> label="${c:l('MSG.NO')}" checked = "true"/>
</radiogroup> </radiogroup>
</row> </row>
</rows> </rows>
@ -81,5 +81,33 @@
label="${c:l('generarTarifaOrgaoController.labelOrgao.value')}" /> label="${c:l('generarTarifaOrgaoController.labelOrgao.value')}" />
</listhead> </listhead>
</listbox> </listbox>
<grid fixedLayout="true">
<rows>
<row>
<label
value="${c:l('calcularPeajeController.cmbCasetaPeaje.value')}" />
<combobox id="cmbCasetaPeaje"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
model="@{winCalcularPeaje$composer.lsCasetaPeaje}" width="99%" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnRemoveCasetaPeaje" height="20"
image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('calcularPeajeController.labelRemoveCasetaPeaje.value')}" />
<button id="btnAddCasetaPeaje" height="20"
image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('calcularPeajeController.labelAddCasetaPeaje.value')}" />
</toolbar>
<listbox id="selectedCasetaPeajeList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader image="/gui/img/builder.gif"
label="${c:l('calcularPeajeController.labelCasetaPeaje.value')}" width="100%"/>
</listhead>
</listbox>
</window> </window>
</zk> </zk>

View File

@ -77,6 +77,14 @@
label="${c:l('generarTarifaOrgaoController.labelGerarTabelaTarifasZeradas.value')}" /> label="${c:l('generarTarifaOrgaoController.labelGerarTabelaTarifasZeradas.value')}" />
</vbox> </vbox>
</row> </row>
<row>
<label
value="${c:l('generarTarifaOrgaoController.labelGerarTaxaDeEmbarquePorLocalidade.value')}" />
<vbox>
<checkbox id="chkGerarTaxaDeEmbarquePorLocalidade"
label="${c:l('generarTarifaOrgaoController.labelGerarTaxaDeEmbarquePorLocalidade.value')}" />
</vbox>
</row>
</rows> </rows>
</grid> </grid>
@ -114,5 +122,40 @@
label="${c:l('generarTarifaOrgaoController.labelOrgao.value')}" /> label="${c:l('generarTarifaOrgaoController.labelOrgao.value')}" />
</listhead> </listhead>
</listbox> </listbox>
<div id="paradaDiv">
<grid fixedLayout="true">
<columns>
<column width="40%" />
<column width="60%" />
</columns>
<rows>
<row>
<label
value="${c:l('generarTarifaOrgaoController.labelLocalidade.value')}" />
<combobox id="cmbParada"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
model="@{winGenerarTarifaOrgao$composer.lsParada}" width="99%" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnRemovePArada" height="20"
image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('generarTarifaOrgaoController.labelRemoveLocalidade.value')}" />
<button id="btnAddParada" height="20"
image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('generarTarifaOrgaoController.labelAddLocalidade.value')}" />
</toolbar>
<listbox id="selectedParadasList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader image="/gui/img/builder.gif"
label="${c:l('generarTarifaOrgaoController.labelLocalidade.value')}" width="100%"/>
</listhead>
</listbox>
</div>
</window> </window>
</zk> </zk>