fixes bug #8353
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@65056 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
984f601c63
commit
401692376e
|
@ -1,6 +1,7 @@
|
|||
package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -24,7 +25,9 @@ import com.rjconsultores.ventaboletos.service.CalcularPeajeService;
|
|||
import com.rjconsultores.ventaboletos.service.EmpresaImpostoService;
|
||||
import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService;
|
||||
import com.rjconsultores.ventaboletos.service.RutaService;
|
||||
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
||||
|
||||
@Controller("calcularPeajeController")
|
||||
@Scope("prototype")
|
||||
|
@ -47,6 +50,12 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
|
|||
private Radio rdConsiderarICMSNo;
|
||||
private Radio rdConsiderarICMSSi;
|
||||
|
||||
private Combobox cmbRuta;
|
||||
private List<Ruta> listSelectedRutas;
|
||||
private MyListbox selectedRutasList;
|
||||
private List<Ruta> lsRutas;
|
||||
Set<Integer> lsIdsOrgSemIndice = new HashSet<Integer>();
|
||||
|
||||
public List<OrgaoConcedente> getLsOrgaoConcedente() {
|
||||
return lsOrgaoConcedente;
|
||||
}
|
||||
|
@ -65,6 +74,7 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
|
|||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
|
||||
super.doAfterCompose(comp);
|
||||
|
||||
lsOrgaoConcedente = new ArrayList<OrgaoConcedente>();
|
||||
|
@ -77,12 +87,33 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
|
|||
for (Integer orgaoConcedenteId : Constantes.ORGAOS_CONCEDENTES_CALCULO_AGER) {
|
||||
lsOrgaoConcedente.add(orgaoConcedenteService.obtenerID(orgaoConcedenteId));
|
||||
}
|
||||
lsRutas = rutaService.buscarRutasPorEmpresas(UsuarioLogado.getUsuarioLogado().getEmpresa());
|
||||
listSelectedRutas = new ArrayList<Ruta>();
|
||||
}
|
||||
|
||||
public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException {
|
||||
OrgaoConcedente orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
|
||||
if (orgao.getIndicePeaje() != null) {
|
||||
List<Ruta> lsRuta = rutaService.buscaRutasFromOrgao(orgao);
|
||||
OrgaoConcedente orgao ;
|
||||
boolean orgaoListaRutasHasIndices = true;
|
||||
if(!listSelectedRutas.isEmpty()){
|
||||
orgao = null;
|
||||
for(Ruta r : listSelectedRutas){
|
||||
if(r.getOrgaoConcedente().getIndicePeaje() == null){
|
||||
orgaoListaRutasHasIndices = false;
|
||||
lsIdsOrgSemIndice.add(r.getOrgaoConcedente().getOrgaoConcedenteId());
|
||||
}
|
||||
}
|
||||
}else{
|
||||
orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue());
|
||||
}
|
||||
|
||||
if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices)) {
|
||||
|
||||
List<Ruta> lsRuta;
|
||||
if(!listSelectedRutas.isEmpty()){
|
||||
lsRuta = listSelectedRutas;
|
||||
}else{
|
||||
lsRuta = rutaService.buscaRutasFromOrgao(orgao);
|
||||
}
|
||||
boolean usarICMS;
|
||||
if(rdConsiderarICMSSi.isChecked()){
|
||||
usarICMS = true;
|
||||
|
@ -128,9 +159,30 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
|
|||
// TODO else: show some generic error for unexpected error
|
||||
}
|
||||
} else {
|
||||
if(orgao != null){
|
||||
Messagebox.show(
|
||||
Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }),
|
||||
Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR);
|
||||
}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){
|
||||
List l = new ArrayList<Integer>(s);
|
||||
if(l.size()==1){
|
||||
return l.get(0).toString();
|
||||
}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());
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,4 +209,50 @@ public class CalcularPeajeController extends MyGenericForwardComposer {
|
|||
|
||||
return true;
|
||||
}
|
||||
public void onClick$btnAddRuta(Event ev) throws InterruptedException {
|
||||
if (cmbRuta.getSelectedItem() != null) {
|
||||
listSelectedRutas.add((Ruta) cmbRuta.getSelectedItem().getValue());
|
||||
selectedRutasList.setData(listSelectedRutas);
|
||||
cmbRuta.setSelectedItem(null);
|
||||
}
|
||||
}
|
||||
|
||||
public void onClick$btnRemoveRuta(Event ev) throws InterruptedException {
|
||||
Ruta ruta = (Ruta) selectedRutasList.getSelected();
|
||||
listSelectedRutas.remove(ruta);
|
||||
selectedRutasList.setData(listSelectedRutas);
|
||||
}
|
||||
|
||||
public Combobox getCmbRuta() {
|
||||
return cmbRuta;
|
||||
}
|
||||
|
||||
public void setCmbRuta(Combobox cmbRuta) {
|
||||
this.cmbRuta = cmbRuta;
|
||||
}
|
||||
|
||||
public List<Ruta> getListSelectedRutas() {
|
||||
return listSelectedRutas;
|
||||
}
|
||||
|
||||
public void setListSelectedRutas(List<Ruta> listSelectedRutas) {
|
||||
this.listSelectedRutas = listSelectedRutas;
|
||||
}
|
||||
|
||||
public MyListbox getSelectedRutasList() {
|
||||
return selectedRutasList;
|
||||
}
|
||||
|
||||
public void setSelectedRutasList(MyListbox selectedRutasList) {
|
||||
this.selectedRutasList = selectedRutasList;
|
||||
}
|
||||
|
||||
public List<Ruta> getLsRutas() {
|
||||
return lsRutas;
|
||||
}
|
||||
|
||||
public void setLsRutas(List<Ruta> lsRutas) {
|
||||
this.lsRutas = lsRutas;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -47,5 +47,39 @@
|
|||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="40%" />
|
||||
<column width="60%" />
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label
|
||||
value="${c:l('editarConfiguracionCorridaController.cmbRuta.value')}" />
|
||||
<combobox id="cmbRuta"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
|
||||
mold="rounded" buttonVisible="true"
|
||||
model="@{winCalcularPeaje$composer.lsRutas}" width="99%" />
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<toolbar>
|
||||
<button id="btnRemoveRuta" height="20"
|
||||
image="/gui/img/remove.png" width="35px"
|
||||
tooltiptext="${c:l('generarTarifaOrgaoController.labelRemoveRuta.value')}" />
|
||||
<button id="btnAddRuta" height="20"
|
||||
image="/gui/img/add.png" width="35px"
|
||||
tooltiptext="${c:l('generarTarifaOrgaoController.labelAddRuta.value')}" />
|
||||
</toolbar>
|
||||
<listbox id="selectedRutasList"
|
||||
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
|
||||
multiple="false">
|
||||
<listhead sizable="true">
|
||||
<listheader image="/gui/img/builder.gif"
|
||||
label="${c:l('generarTarifaOrgaoController.labelRuta.value')}" width="70%"/>
|
||||
<listheader image="/gui/img/builder.gif"
|
||||
label="${c:l('generarTarifaOrgaoController.labelOrgao.value')}" />
|
||||
</listhead>
|
||||
</listbox>
|
||||
</window>
|
||||
</zk>
|
||||
|
|
Loading…
Reference in New Issue