igor.rodrigo 2016-07-04 21:23:37 +00:00
parent 63304113b9
commit 85c3d2aa20
4 changed files with 129 additions and 21 deletions

View File

@ -19,22 +19,23 @@ import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zkplus.databind.BindingListModelList; import org.zkoss.zkplus.databind.BindingListModelList;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.Paging; import org.zkoss.zul.Paging;
import org.zkoss.zul.event.ListDataListener;
import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda; import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.PerfilFuncion;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tarifa; import com.rjconsultores.ventaboletos.entidad.Tarifa;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.service.CategoriaService; import com.rjconsultores.ventaboletos.service.CategoriaService;
@ -42,7 +43,9 @@ import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.MarcaService;
import com.rjconsultores.ventaboletos.service.MonedaService; import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarifaService;
import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService;
import com.rjconsultores.ventaboletos.service.UsuarioService;
import com.rjconsultores.ventaboletos.service.ViaService; import com.rjconsultores.ventaboletos.service.ViaService;
import com.rjconsultores.ventaboletos.service.VigenciaTarifaService; import com.rjconsultores.ventaboletos.service.VigenciaTarifaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -60,6 +63,12 @@ import com.trg.search.Filter;
@Controller("busquedaTarifaController") @Controller("busquedaTarifaController")
@Scope("prototype") @Scope("prototype")
public class BusquedaTarifaController extends MyGenericForwardComposer { public class BusquedaTarifaController extends MyGenericForwardComposer {
@Autowired
private TarifaService tarifaService;
@Autowired
private UsuarioService usuarioService;
@Autowired @Autowired
private transient PagedListWrapper<Tarifa> plwTarifa; private transient PagedListWrapper<Tarifa> plwTarifa;
@ -101,7 +110,20 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
private Combobox cmbTipoPontoVenta; private Combobox cmbTipoPontoVenta;
private Combobox cmbRuta; private Combobox cmbRuta;
private Combobox cmbVia; private Combobox cmbVia;
private Button btnExcluirTodos;
private Moneda moneda;
private Marca marca;
private ClaseServicio claseServicio;
private VigenciaTarifa vigenciaTarifa;
private Categoria categoria;
private TipoPuntoVenta tipoPuntoVenta;
private Parada origem;
private Parada destino;
private Ruta ruta;
private Via via;
private final String PERMISSAO_EXCLUIR_TODAS_PESQUISA = "COM.RJCONSULTORES.VENTABOLETOS.GUI.ADM.PRECO.EXCLUIR.TODAS.PESQUISA";
private static final Logger log = Logger.getLogger(BusquedaTarifaController.class); private static final Logger log = Logger.getLogger(BusquedaTarifaController.class);
public List<VigenciaTarifa> getLsVigencias() { public List<VigenciaTarifa> getLsVigencias() {
@ -249,11 +271,59 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
} }
public void onClick$btnPesquisa(Event ev) throws InterruptedException { public void onClick$btnPesquisa(Event ev) throws InterruptedException {
refreshLista(); refreshLista(true);
}
private boolean temPermissao(String permissao){
Usuario usuario = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId());
for (UsuarioPerfil up : usuario.getUsuarioPerfilList()){
List<PerfilFuncion> listPerfilFuncion = up.getPerfil().getPerfilFuncionList();
for (PerfilFuncion pf : listPerfilFuncion) {
if (pf.getFuncionSistema().getDescruta().equals(permissao)){
return true;
}
}
}
return false;
}
public void onClick$btnExcluirTodos(Event ev) throws InterruptedException {
try {
if (moneda == null && marca == null && claseServicio == null && vigenciaTarifa == null && categoria == null
&& tipoPuntoVenta == null && origem == null && destino == null && ruta == null && via == null ){
Messagebox.show(
Labels.getLabel("editarTarifaController.btnFechar.MSG.pesquisaobrigatoria"),
Labels.getLabel("editarTarifaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return;
}
int opcao = Messagebox.show(
Labels.getLabel("editarTarifaController.btnFechar.MSG.Deseja.BorrarEmLote"),
Labels.getLabel("editarTarifaController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (opcao == Messagebox.YES) {
tarifaService.excluirTodasTarifas(moneda, marca, claseServicio, vigenciaTarifa, origem, destino, categoria, tipoPuntoVenta, ruta, via);
Messagebox.show(
Labels.getLabel("editarTarifaController.btnFechar.MSG.borrarEmLoteOK"),
Labels.getLabel("editarTarifaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
} catch (Exception ex) {
log.error(ex);
}
refreshLista(false);
} }
public void onClick$btnRefresh(Event ev) throws InterruptedException { public void onClick$btnRefresh(Event ev) throws InterruptedException {
refreshLista(); refreshLista(true);
} }
public void onClick$btnNovo(Event ev) { public void onClick$btnNovo(Event ev) {
@ -279,7 +349,9 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
lsRuta.addAll(rutaService.obtenerTodos()); lsRuta.addAll(rutaService.obtenerTodos());
} }
refreshLista(true);
cmbRuta.setModel(new BindingListModelList(lsRuta, true)); cmbRuta.setModel(new BindingListModelList(lsRuta, true));
} }
}); });
@ -317,8 +389,12 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
lsVia = new ArrayList<Via>(); lsVia = new ArrayList<Via>();
lsVia.add(null); lsVia.add(null);
lsVia.addAll(viaService.obtenerTodos()); lsVia.addAll(viaService.obtenerTodos());
refreshLista(); if(!temPermissao(PERMISSAO_EXCLUIR_TODAS_PESQUISA)){
btnExcluirTodos.setDisabled(true);
}
refreshLista(true);
} }
private void verTarifa(Tarifa t) { private void verTarifa(Tarifa t) {
@ -338,19 +414,27 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
private <T> T getIfSelected(Combobox cb) { private <T> T getIfSelected(Combobox cb) {
return (T) (cb.getSelectedItem() != null ? cb.getSelectedItem().getValue() : null); return (T) (cb.getSelectedItem() != null ? cb.getSelectedItem().getValue() : null);
} }
public Button getBtnExcluirTodos() {
return btnExcluirTodos;
}
private void refreshLista() throws InterruptedException { public void setBtnExcluirTodos(Button btnExcluirTodos) {
Moneda moneda = getIfSelected(cmbMoneda); this.btnExcluirTodos = btnExcluirTodos;
Marca marca = getIfSelected(cmbMarca); }
ClaseServicio claseServicio = getIfSelected(cmbClaseServicio);
VigenciaTarifa vigenciaTarifa = getIfSelected(cmbVigenciaTarifa);
Categoria categoria = getIfSelected(cmbCategoria);
TipoPuntoVenta tipoPuntoVenta = getIfSelected(cmbTipoPontoVenta);
Parada origem = getIfSelected(cmbOrigem);
Parada destino = getIfSelected(cmbDestino);
Ruta ruta = getIfSelected(cmbRuta);
Via via = getIfSelected(cmbVia);
private void refreshLista(Boolean exibirMsgNenhumRegistro) throws InterruptedException {
moneda = getIfSelected(cmbMoneda);
marca = getIfSelected(cmbMarca);
claseServicio = getIfSelected(cmbClaseServicio);
vigenciaTarifa = getIfSelected(cmbVigenciaTarifa);
categoria = getIfSelected(cmbCategoria);
tipoPuntoVenta = getIfSelected(cmbTipoPontoVenta);
origem = getIfSelected(cmbOrigem);
destino = getIfSelected(cmbDestino);
ruta = getIfSelected(cmbRuta);
via = getIfSelected(cmbVia);
if ((moneda == null) && (!cmbMoneda.getText().isEmpty())) { if ((moneda == null) && (!cmbMoneda.getText().isEmpty())) {
Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Moneda.", Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Moneda.",
@ -467,7 +551,7 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
} }
plwTarifa.init(tarifaBusqueda, tarifaList, pagingTarifa); plwTarifa.init(tarifaBusqueda, tarifaList, pagingTarifa);
if (tarifaList.getData().length == 0) { if (tarifaList.getData().length == 0 && exibirMsgNenhumRegistro) {
try { try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("editarTarifaController.window.title"), Labels.getLabel("editarTarifaController.window.title"),
@ -476,6 +560,20 @@ public class BusquedaTarifaController extends MyGenericForwardComposer {
catch (InterruptedException ex) { catch (InterruptedException ex) {
} }
} }
HabilitarBotaoExcluirTodos();
}
private void HabilitarBotaoExcluirTodos() {
if (moneda != null || marca != null || claseServicio != null || vigenciaTarifa != null || categoria != null
|| tipoPuntoVenta != null || origem != null || destino != null || ruta != null || via != null ){
Boolean selecionouAoMenosUmCampoPesquisa = true;
if(selecionouAoMenosUmCampoPesquisa && tarifaList.getSize() > 0 && temPermissao(PERMISSAO_EXCLUIR_TODAS_PESQUISA)){
btnExcluirTodos.setDisabled(false);
}else{
btnExcluirTodos.setDisabled(true);
}
}
} }
} }

View File

@ -2182,6 +2182,7 @@ busquedaTarifaController.lhTaxa.label = Tasa de abordaje
busquedaTarifaController.lhSeguro.label = Seguro busquedaTarifaController.lhSeguro.label = Seguro
busquedaTarifaController.lhOutros.label = Otros busquedaTarifaController.lhOutros.label = Otros
busquedaTarifaController.btnPesquisa.label = Búsqueda busquedaTarifaController.btnPesquisa.label = Búsqueda
busquedaTarifaController.btnExcluir.label = Excluir Todos
busquedaTarifaController.lhVigencia.label = Vigencia busquedaTarifaController.lhVigencia.label = Vigencia
busquedaTarifaController.lhStatusTarifa.label = Status tarifa busquedaTarifaController.lhStatusTarifa.label = Status tarifa
busquedaTarifaController.lhprecioredabierto.label = Tarifa de regreso abierto busquedaTarifaController.lhprecioredabierto.label = Tarifa de regreso abierto
@ -2205,7 +2206,10 @@ busquedaTarifaController.lhTodos.label = Todos
editarTarifaController.window.title = Tarifa editarTarifaController.window.title = Tarifa
editarTarifaController.btnFechar.MSG.SuscbrirOK = Tarifa se registró exitosamente editarTarifaController.btnFechar.MSG.SuscbrirOK = Tarifa se registró exitosamente
editarTarifaController.btnFechar.MSG.Deseja.Borrar = Deseas eliminar la tarifa ? editarTarifaController.btnFechar.MSG.Deseja.Borrar = Deseas eliminar la tarifa ?
editarTarifaController.btnFechar.MSG.Deseja.BorrarEmLote = Tarifa Deseja Eliminar Todas as tarifas pesquisadas?
editarTarifaController.btnFechar.MSG.borrarOK = Tarifa se eliminó exitosamente editarTarifaController.btnFechar.MSG.borrarOK = Tarifa se eliminó exitosamente
editarTarifaController.btnFechar.MSG.borrarEmLoteOK = Tarifas Excluidas com Sucesso.
editarTarifaController.btnFechar.MSG.pesquisaobrigatoria = Selecione pelo menos um filtro e faça a pesquisa.
editarTarifaController.btnApagar.tooltiptext = Eliminar tarifa editarTarifaController.btnApagar.tooltiptext = Eliminar tarifa
editarTarifaController.btnSalvar.tooltiptext = Guardar editarTarifaController.btnSalvar.tooltiptext = Guardar
editarTarifaController.btnFechar.tooltiptext = Cerrar editarTarifaController.btnFechar.tooltiptext = Cerrar

View File

@ -2237,6 +2237,7 @@ busquedaTarifaController.lhTaxa.label = Taxa de Embarque
busquedaTarifaController.lhSeguro.label = Seguro busquedaTarifaController.lhSeguro.label = Seguro
busquedaTarifaController.lhOutros.label = Outros busquedaTarifaController.lhOutros.label = Outros
busquedaTarifaController.btnPesquisa.label = Pesquisa busquedaTarifaController.btnPesquisa.label = Pesquisa
busquedaTarifaController.btnExcluir.label = Excluir Todos
busquedaTarifaController.lhVigencia.label = Vigência busquedaTarifaController.lhVigencia.label = Vigência
busquedaTarifaController.lhStatusTarifa.label = Status Tarifa busquedaTarifaController.lhStatusTarifa.label = Status Tarifa
busquedaTarifaController.lhprecioredabierto.label = Tarifa volta em aberto busquedaTarifaController.lhprecioredabierto.label = Tarifa volta em aberto
@ -2260,7 +2261,10 @@ busquedaTarifaController.lhTodos.label = Todos
editarTarifaController.window.title = Tarifa editarTarifaController.window.title = Tarifa
editarTarifaController.btnFechar.MSG.SuscbrirOK = Tarifa Registrada com Sucesso. editarTarifaController.btnFechar.MSG.SuscbrirOK = Tarifa Registrada com Sucesso.
editarTarifaController.btnFechar.MSG.Deseja.Borrar = Tarifa Deseja Eliminar? editarTarifaController.btnFechar.MSG.Deseja.Borrar = Tarifa Deseja Eliminar?
editarTarifaController.btnFechar.MSG.Deseja.BorrarEmLote = Tarifa Deseja Eliminar Todas as tarifas pesquisadas?
editarTarifaController.btnFechar.MSG.borrarOK = Tarifa Excluida com Sucesso. editarTarifaController.btnFechar.MSG.borrarOK = Tarifa Excluida com Sucesso.
editarTarifaController.btnFechar.MSG.borrarEmLoteOK = Tarifas Excluidas com Sucesso.
editarTarifaController.btnFechar.MSG.pesquisaobrigatoria = Selecione pelo menos um filtro e faça a pesquisa.
editarTarifaController.btnApagar.tooltiptext = Eliminar tarifa editarTarifaController.btnApagar.tooltiptext = Eliminar tarifa
editarTarifaController.btnSalvar.tooltiptext = Salvar editarTarifaController.btnSalvar.tooltiptext = Salvar
editarTarifaController.btnFechar.tooltiptext = Fechar editarTarifaController.btnFechar.tooltiptext = Fechar

View File

@ -84,7 +84,9 @@
<toolbar> <toolbar>
<button id="btnPesquisa" image="/gui/img/find.png" <button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('busquedaTarifaController.btnPesquisa.label')}"/> label="${c:l('busquedaTarifaController.btnPesquisa.label')}"/>
<button id="btnExcluirTodos" image="/gui/img/find.png"
label="${c:l('busquedaTarifaController.btnExcluir.label')}"/>
</toolbar> </toolbar>
<paging id="pagingTarifa" pageSize="10"/> <paging id="pagingTarifa" pageSize="10"/>