correcao (fixes bug 6109)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@42153 d1611594-4594-4d17-8e1d-87c2c4800839
master
lucas.taia 2015-03-13 22:56:03 +00:00
parent 0e19c74e73
commit 3a38cf1f60
7 changed files with 444 additions and 1 deletions

View File

@ -0,0 +1,268 @@
/*
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
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;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Paging;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.UsuarioSesion;
import com.rjconsultores.ventaboletos.service.UsuarioSesionService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUsuarioSesion;
import com.trg.search.Filter;
/**
*
* @author RJ Consultores
*/
@Controller("busquedaUsuarioSesionController")
@Scope("prototype")
public class BusquedaUsuarioSesionController extends MyGenericForwardComposer {
@Autowired
private transient PagedListWrapper<UsuarioSesion> plwFormaPago;
@Autowired
private UsuarioSesionService usuarioSesionService;
private MyListbox usuarioSesionList;
private Paging pagingUsuarioSesion;
private Textbox txtNombUsuario;
private Textbox txtNombPaterno;
private Textbox txtNombMaterno;
private Textbox txtCveUsuario;
private Textbox txtCveEmpleado;
private Radio radFirmadoSi;
private Radio radFirmadoNo;
private Combobox cmbEmpresa;
private List<Empresa> lsEmpresas;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa();
super.doAfterCompose(comp);
usuarioSesionList.setItemRenderer(new RenderUsuarioSesion());
Boolean isReadOnly = Boolean.FALSE;
if(arg.get("isReadOnly") != null){
isReadOnly = (Boolean) arg.get("isReadOnly");
}
if (!isReadOnly) {
usuarioSesionList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
UsuarioSesion s = (UsuarioSesion) usuarioSesionList.getSelected();
verUsuario(s);
}
});
}
refreshLista();
}
private void verUsuario(UsuarioSesion u) {
if (u == null) {
return;
}
try {
if (u.getIndFirmado()) {
int resp = Messagebox.show(
Labels.getLabel("busquedaUsuarioSesionController.MSG.gerarPergunta",
new Object[] { u.getUsuario().getClaveUsuario() }),
Labels.getLabel("busquedaUsuarioSesionController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
u.setIndFirmado(Boolean.FALSE);
usuarioSesionService.actualizacion(u);
Messagebox.show(Labels.getLabel("busquedaUsuarioSesionController.MSG.ok"),
Labels.getLabel("busquedaUsuarioSesionController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
refreshLista();
}
}else{
Messagebox.show(Labels.getLabel("busquedaUsuarioSesionController.MSG.informa"),
Labels.getLabel("busquedaUsuarioSesionController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
}
} catch (Exception e) {
try {
Messagebox.show(Labels.getLabel("MSG.Error"), Labels.getLabel("busquedaUsuarioSesionController.window.title"),
Messagebox.OK, Messagebox.ERROR);
} catch (InterruptedException e1) {
}
}
}
@SuppressWarnings("static-access")
private void refreshLista() {
HibernateSearchObject<UsuarioSesion> sistemaBusqueda =
new HibernateSearchObject<UsuarioSesion>(UsuarioSesion.class,
pagingUsuarioSesion.getPageSize());
String nombUsuario = txtNombUsuario.getText();
if (!nombUsuario.equals("")) {
sistemaBusqueda.addFilterLike("usuario.nombusuario", "%" + nombUsuario.trim().concat("%"));
}
String nombPaterno = txtNombPaterno.getText();
if (!nombPaterno.equals("")) {
sistemaBusqueda.addFilterLike("usuario.nombpaterno", "%" + nombPaterno.trim().concat("%"));
}
String nombMaterno = txtNombMaterno.getText();
if (!nombMaterno.equals("")) {
sistemaBusqueda.addFilterLike("usuario.nombmaterno", "%" + nombMaterno.trim().concat("%"));
}
String cveUsuario = txtCveUsuario.getText();
if (cveUsuario != null) {
sistemaBusqueda.addFilterLike("usuario.claveUsuario", "%" + cveUsuario.trim().concat("%"));
}
List<Empresa> lsEmpresaTmp =null;
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue();
lsEmpresaTmp = new ArrayList<Empresa>();
lsEmpresaTmp.add(empresa);
sistemaBusqueda.addFilter(
Filter.and(Filter.in("empresa", lsEmpresaTmp),
Filter.equal("activo", true)
));
}else{
lsEmpresaTmp = lsEmpresas;
}
if(radFirmadoSi.isChecked()){
sistemaBusqueda.addFilterEqual("indFirmado", Boolean.TRUE);
}else if(radFirmadoNo.isChecked()){
sistemaBusqueda.addFilterEqual("indFirmado", Boolean.FALSE);
}
sistemaBusqueda.addFilterEqual("activo", Boolean.TRUE);
plwFormaPago.init(sistemaBusqueda, usuarioSesionList, pagingUsuarioSesion);
if (usuarioSesionList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("busquedaUsuarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
public void onClick$btnPesquisa(Event ev) {
refreshLista();
}
public void onClick$btnRefresh(Event ev) {
refreshLista();
}
public Combobox getCmbEmpresa() {
return cmbEmpresa;
}
public void setCmbEmpresa(Combobox cmbEmpresa) {
this.cmbEmpresa = cmbEmpresa;
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public Textbox getTxtCveUsuario() {
return txtCveUsuario;
}
public void setTxtCveUsuario(Textbox txtCveUsuario) {
this.txtCveUsuario = txtCveUsuario;
}
public Paging getPagingUsuario() {
return pagingUsuarioSesion;
}
public void setPagingUsuario(Paging pagingUsuario) {
this.pagingUsuarioSesion = pagingUsuario;
}
public Textbox getTxtNombMaterno() {
return txtNombMaterno;
}
public void setTxtNombMaterno(Textbox txtNombMaterno) {
this.txtNombMaterno = txtNombMaterno;
}
public Textbox getTxtNombPaterno() {
return txtNombPaterno;
}
public void setTxtNombPaterno(Textbox txtNombPaterno) {
this.txtNombPaterno = txtNombPaterno;
}
public Textbox getTxtNombUsuario() {
return txtNombUsuario;
}
public void setTxtNombUsuario(Textbox txtNombUsuario) {
this.txtNombUsuario = txtNombUsuario;
}
public MyListbox getUsuarioList() {
return usuarioSesionList;
}
public void setUsuarioList(MyListbox usuarioList) {
this.usuarioSesionList = usuarioList;
}
public Textbox getTxtCveEmpleado() {
return txtCveEmpleado;
}
public void setTxtCveEmpleado(Textbox txtCveEmpleado) {
this.txtCveEmpleado = txtCveEmpleado;
}
}

View File

@ -0,0 +1,26 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuUsuarioSesion extends DefaultItemMenuSistema {
public ItemMenuUsuarioSesion() {
super("busquedaUsuarioSesionController.window.title");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.USUARIOSESION";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/seguridad/busquedaUsuarioSesion.zul",
Labels.getLabel("busquedaUsuarioSesionController.window.title"), getArgs(), desktop);
}
}

View File

@ -0,0 +1,52 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.UsuarioSesion;
/**
*
* @author RJ Consultores
*/
public class RenderUsuarioSesion implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
UsuarioSesion usuarioSesion = (UsuarioSesion) o;
Listcell lc = new Listcell(usuarioSesion.getUsuario().getClaveUsuario());
lc.setParent(lstm);
lc = new Listcell(usuarioSesion.getUsuario().getNombusuario());
lc.setParent(lstm);
lc = new Listcell(usuarioSesion.getUsuario().getNombpaterno());
lc.setParent(lstm);
lc = new Listcell(usuarioSesion.getUsuario().getNombmaterno());
lc.setParent(lstm);
lc = new Listcell(usuarioSesion.getEmpresa() == null ? "" : usuarioSesion.getEmpresa().getNombempresa() );
lc.setParent(lstm);
lc = new Listcell();
Checkbox chkFirmado = new Checkbox();
chkFirmado.setDisabled(Boolean.TRUE);
if (usuarioSesion.getIndFirmado()) {
chkFirmado.setChecked(Boolean.TRUE);
}
lc.appendChild(chkFirmado);
lc.setParent(lstm);
lstm.setAttribute("data", usuarioSesion);
}
}

View File

@ -322,6 +322,7 @@
</value>
<value>com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa</value>
<value>com.rjconsultores.ventaboletos.entidad.UsuarioPerfil</value>
<value>com.rjconsultores.ventaboletos.entidad.UsuarioSesion</value>
<value>com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion
</value>
<value>com.rjconsultores.ventaboletos.entidad.Via</value>

View File

@ -2453,6 +2453,12 @@ busquedaUsuarioController.nombmaterno.label = Apellido materno
busquedaUsuarioController.perfil.label = Perfil
busquedaUsuarioController.btnPesquisa.label = Búsqueda
busquedaUsuarioSesionController.window.title = Sesion Usuário
busquedaUsuarioSesionController.firmado.label = Firmado
busquedaUsuarioSesionController.MSG.informa = Usuário não está logado
busquedaUsuarioSesionController.MSG.gerarPergunta = Deseja liberar a sessão do usuário {0} ?
busquedaUsuarioSesionController.MSG.ok = Sessão liberada com Sucesso.
# Editar Usuário
editarUsuarioController.window.title = Usuário
editarUsuarioController.tabel.ubicacion = Ubicación

View File

@ -156,8 +156,8 @@ indexController.mniPerfil.label = Perfil
indexController.mniPermisos.label = Permissão
indexController.mniMenus.label = Menu
indexController.mniSistema.label = Sistema
indexController.mniUsuario.label = Usuário
indexController.mniFiscalImpressora.label = Impressora Fiscal
indexController.mniUsuario.label = Usuário
indexController.mniUbicacionUsuario.label = Localização do Usuário
indexController.mniTipoParadas.label = Tipo Localidade
indexController.mniAutobus.label = Veículos
@ -2502,6 +2502,12 @@ busquedaUsuarioController.btnPesquisa.label = Pesquisa
busquedaUsuarioController.empresa.label = Empresa
busquedaUsuarioController.puntoventa.label = Ponto de Venda(Agência)
busquedaUsuarioSesionController.window.title = Sessão Usuário
busquedaUsuarioSesionController.firmado.label = Logado
busquedaUsuarioSesionController.MSG.informa = Usuário não está logado
busquedaUsuarioSesionController.MSG.gerarPergunta = Deseja liberar a sessão do usuário {0} ?
busquedaUsuarioSesionController.MSG.ok = Sessão liberada com Sucesso.
# Editar Usuário
editarUsuarioController.window.title = Usuário
editarUsuarioController.tabel.ubicacion = Localização

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winBusquedaUsuarioSesion"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusquedaUsuarioSesion" title="${c:l('busquedaUsuarioController.window.title')}"
apply="${busquedaUsuarioSesionController}" contentStyle="overflow:auto"
height="500px" width="1200px" border="normal" >
<toolbar>
<button id="btnRefresh" image="/gui/img/refresh.png" width="35px"
tooltiptext="${c:l('busquedaUsuarioController.btnRefresh.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnCerrar" onClick="winBusquedaUsuarioSesion.detach()" image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaUsuarioController.btnCerrar.tooltiptext')}"/>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="15%"/>
<column/>
<column width="15%"/>
<column/>
</columns>
<rows>
<row>
<label value="${c:l('busquedaUsuarioController.CveUsuario.label')}" width="90%"/>
<textbox id="txtCveUsuario" width="90%" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" maxlength="10"/>
<label value="${c:l('busquedaUsuarioController.nombusuario.label')}" width="90%"/>
<textbox id="txtNombUsuario" width="90%" maxlength="20"/>
</row>
<row>
<label value="${c:l('busquedaUsuarioController.nombpaterno.label')}" width="90%"/>
<textbox id="txtNombPaterno" width="90%" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" maxlength="20"/>
<label value="${c:l('busquedaUsuarioController.nombmaterno.label')}" width="90%"/>
<textbox id="txtNombMaterno" width="90%" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" maxlength="20"/>
</row>
<row>
<label
value="${c:l('busquedaUsuarioController.empresa.label')}" />
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
width="70%" mold="rounded" buttonVisible="true"
model="@{winBusquedaUsuarioSesion$composer.lsEmpresas}"/>
<label value="${c:l('busquedaUsuarioSesionController.firmado.label')}" width="90%"/>
<radiogroup Id="indFirmado">
<radio id="radFirmadoSi" checked="true" label="${c:l('MSG.SI')}" />
<radio id="radFirmadoNo" label="${c:l('MSG.NO')}" />
</radiogroup>
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('busquedaUsuarioController.btnPesquisa.label')}"/>
</toolbar>
<paging id="pagingUsuario" pageSize="20" />
<listbox id="usuarioList" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" width="1180px">
<listhead sizable="true">
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioController.CveUsuario.label')}"
sort="auto(usuario.claveUsuario)"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioController.nombusuario.label')}"
sort="auto(usuario.nombusuario)"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioController.nombpaterno.label')}"
sort="auto(usuario.nombpaterno)"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioController.nombmaterno.label')}"
sort="auto(usuario.nombmaterno)"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioController.empresa.label')}"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaUsuarioSesionController.firmado.label')}"/>
</listhead>
</listbox>
</window>
</zk>