fixes bug#20776

fixes bug#20777
dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104232 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2020-11-10 22:56:13 +00:00
parent 2604a58113
commit 997ec944f0
12 changed files with 464 additions and 3 deletions

13
pom.xml
View File

@ -213,6 +213,17 @@
<classifier>jdk16</classifier>
<version>4.11.2</version>
</dependency>
<dependency>
<groupId>br.com.rjconsultores</groupId>
<artifactId>Auditador</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
@ -243,6 +254,7 @@
<outputFileNameMapping>@{artifactId}@.@{extension}@</outputFileNameMapping>
</configuration>
</plugin>
<!--
<plugin>
<groupId>io.github.olivierlemasle.maven</groupId>
@ -268,6 +280,7 @@
</execution>
</executions>
</plugin>
-->
</plugins>
<pluginManagement>
<plugins>

View File

@ -0,0 +1,45 @@
package com.rjconsultores;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Map;
import com.rjconsultores.ventaboletos.entidad.Tarifa;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
public class Teste {
public static void main(String[] args) {
try {
Tarifa tarifa = new Tarifa();
AuditarClasse classe = tarifa.getClass().getAnnotation(AuditarClasse.class);
Object obj = Proxy.getInvocationHandler(classe);
System.out.println(classe.tela());
Field campo = obj.getClass().getDeclaredField("memberValues");
if(campo != null ) {
campo.setAccessible(true);
}
Map<String, Object> memberValues = (Map<String, Object>) campo.get(obj);
Object tela = memberValues.get("tela");
if(tela != null) {
memberValues.put("tela", "Teste2");
}
System.out.println(classe.tela());
// for (Method metodo : classe.getClass().getDeclaredField("memberValues")) {
// metodo.setAccessible(true);
// if(metodo.getName().equals("tela")) {
// metodo.invoke(classe);
// break;
// }
// }
// classe = tarifa.getClass().getAnnotation(AuditarClasse.class);
// System.out.println(classe.tela());
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -424,6 +424,10 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
esquemaAsientoService.borrar(esquemaAsientoBusqueda);
lsAsientos.add(esquemaAsientoBusqueda);
if(esquemaCorrida.getEsquemaAsientoList().indexOf(esquemaAsientoBusqueda) != -1) {
esquemaCorrida.getEsquemaAsientoList().set(esquemaCorrida.getEsquemaAsientoList().indexOf(esquemaAsientoBusqueda), esquemaAsientoBusqueda);
}
}
}

View File

@ -0,0 +1,162 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
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.zul.Datebox;
import org.zkoss.zul.Longbox;
import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderLogAuditoria;
import com.trg.search.Filter;
import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
@Controller("busquedaLogAuditoriaController")
@Scope("prototype")
public class BusquedaLogAuditoriaController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(BusquedaLogAuditoriaController.class);
@Autowired
private LogAuditoriaService logAuditoriaService;
@Autowired
private transient PagedListWrapper<LogAuditoria> plwLogAuditoria;
private MyListbox logAuditoriaList;
private Paging pagingLogAuditoria;
private List<Empresa> lsEmpresa;
private List<String> lsTela;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxEstandar cmbTela;
private MyComboboxEstandar cmbTipoAlteracao;
private Datebox dtInicio;
private Datebox dtFim;
private MyTextbox txtCampoAlterado;
private MyTextbox txtCveUsuario;
private MyTextbox txtValorNovo;
private MyTextbox txtValorAnterior;
private Longbox txtIdAuditado;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresa = new ArrayList<Empresa>();
lsEmpresa.add(new Empresa(-1, "TODAS"));
lsEmpresa.addAll(UsuarioLogado.getUsuarioLogado().getEmpresa());
lsTela = logAuditoriaService.listarTodasAsTelas();
super.doAfterCompose(comp);
logAuditoriaList.setItemRenderer(new RenderLogAuditoria());
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
private void refreshLista() {
HibernateSearchObject<LogAuditoria> sistemaBusqueda = new HibernateSearchObject<LogAuditoria>(LogAuditoria.class, pagingLogAuditoria.getPageSize());
Date dataInicio = dtInicio.getValue();
Date dataFim = dtFim.getValue();
sistemaBusqueda.addFilterGreaterOrEqual("fecmodif", DateUtil.inicioFecha(dataInicio));
sistemaBusqueda.addFilterLessOrEqual("fecmodif", DateUtil.fimFecha(dataFim));
String campoAlterado = txtCampoAlterado.getText();
if (StringUtils.isNotBlank(campoAlterado)) {
sistemaBusqueda.addFilterLike("campoAlterado", "%" + campoAlterado.trim().concat("%"));
}
String valorNovo = txtValorNovo.getText();
if (StringUtils.isNotBlank(valorNovo)) {
sistemaBusqueda.addFilterLike("valorNovo", "%" + valorNovo.trim().concat("%"));
}
String valorAnterior = txtValorAnterior.getText();
if (StringUtils.isNotBlank(valorAnterior)) {
sistemaBusqueda.addFilterLike("valorAnterior", "%" + valorAnterior.trim().concat("%"));
}
Long idAuditado = txtIdAuditado.getValue();
if (idAuditado != null) {
sistemaBusqueda.addFilterEqual("idAuditado", idAuditado);
}
String cveUsuario = txtCveUsuario.getText();
if (StringUtils.isNotBlank(cveUsuario)) {
sistemaBusqueda.addFilterLike("usuario.claveUsuario", "%" + cveUsuario.trim().concat("%"));
}
Empresa empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa) cmbEmpresa.getSelectedItem().getValue() : null;
if(empresa != null && empresa.getEmpresaId() > -1) {
sistemaBusqueda.addFilterEqual("empresa.empresaId", empresa.getEmpresaId());
} else {
sistemaBusqueda.addFilterOr(Filter.in("empresa", lsEmpresa), Filter.isNull("empresa"));
}
String tela = cmbTela.getSelectedItem() != null ? cmbTela.getSelectedItem().getValue().toString() : null;
if(tela != null) {
sistemaBusqueda.addFilterEqual("tela", tela);
}
AuditadorTipoAlteracao tipoAlteracao = cmbTipoAlteracao.getSelectedItem() != null ? (AuditadorTipoAlteracao) cmbTipoAlteracao.getSelectedItem().getValue() : null;
if(tipoAlteracao != null) {
sistemaBusqueda.addFilterEqual("tipoAlteracao", tipoAlteracao.toString());
}
sistemaBusqueda.addSortAsc("fecmodif");
sistemaBusqueda.addFilterEqual("activo", Boolean.TRUE);
plwLogAuditoria.init(sistemaBusqueda, logAuditoriaList, pagingLogAuditoria);
if (logAuditoriaList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("busquedaLogAuditoriaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
log.error("", ex);
}
}
}
public void onClick$btnPesquisa(Event ev) {
refreshLista();
}
public List<AuditadorTipoAlteracao> getTipoAlteracaoList() {
return AuditadorTipoAlteracao.getList();
}
public List<String> getLsTela() {
return lsTela;
}
}

View File

@ -195,6 +195,7 @@ public class ModificacionMasivaTarifasUploadController extends MyGenericForwardC
Tarifa tarifa = tarifaService.obtenerID(idTarifa);
if (tarifa != null) {
alterarDescricaoTelaAuditoria(tarifa);
contador = gerarComponeneteTarifa(tarifa, row, salvarNuevos, contador, strDuplicidade, strTarifaMinima, strErrorTarifa, strMercadoCompetido);
}
}
@ -437,6 +438,8 @@ public class ModificacionMasivaTarifasUploadController extends MyGenericForwardC
nuevaVigencia = (VigenciaTarifa) cbiVt.getValue();
Tarifa tarifaNueva= tarifaService.buscar(tarifa.getTramo(), tarifa.getMarca(), tarifa.getClaseServicio(), nuevaVigencia, tarifa.getMoneda(), tarifa.getRuta());
tarifaNueva.clonar();
alterarDescricaoTelaAuditoria(tarifaNueva);
boolean existeTarifa = tarifaNueva != null && tarifaNueva.getTarifaId() != null;
if(!existeTarifa) {
@ -591,7 +594,7 @@ public class ModificacionMasivaTarifasUploadController extends MyGenericForwardC
strTarifaMinima = strTarifaMinima + strTmpTarifaMinima;
}
} catch (IllegalStateException ex) {
} catch (Exception ex) {
String strTmpErrorTarifa = "ERROR: formato nuevo precio." + ex + "\n"
+ "Tarifa: " + tarifa.getTarifaId() + "; \n"
+ "Tramo: " + tramo.getDesctramo() + "; \n"
@ -620,6 +623,10 @@ public class ModificacionMasivaTarifasUploadController extends MyGenericForwardC
return contador;
}
private void alterarDescricaoTelaAuditoria(Tarifa tarifa) {
tarifa.setTelaAlternativa("Modificação Massiva de Preços");
}
private boolean validarComponenteEspecifico(Row row) {
if (componentePreco.equals(EnumTarifaPedagio.TARIFA.getDescricao())){
if (row.getCell(CELL_NOVO_PRECIO) == null) {

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 ItemMenuLogAuditoria extends DefaultItemMenuSistema {
public ItemMenuLogAuditoria() {
super("indexController.mniLogAuditoria.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.LOGAUDITORIA";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/seguridad/busquedaLogAuditoria.zul",
Labels.getLabel("busquedaLogAuditoriaController.window.title"), getArgs(), desktop);
}
}

View File

@ -284,6 +284,7 @@ seguridad.contingencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.se
seguridad.reenvioBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuReenvioBPe
seguridad.reenvioBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuExtrairBPeXml
seguridad.limparCacheLocalidadesAPI=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuLimparCacheLocalidadesAPI
seguridad.logAuditoria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuLogAuditoria
pasajerofrecuente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.MenuPasajeroFrecuente
pasajerofrecuente.cliente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuCliente
pasajerofrecuente.importarClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuImportarClientes

View File

@ -0,0 +1,51 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
public class RenderLogAuditoria implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
LogAuditoria logAuditoria = (LogAuditoria) o;
Listcell lc = new Listcell(DateUtil.getStringDate(logAuditoria.getFecmodif(), "dd/MM/yyyy HH:mm"));
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getIdAuditado() != null ? logAuditoria.getIdAuditado().toString() : "");
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getEmpresa() != null ? logAuditoria.getEmpresa().getNombempresa() : "");
lc.setParent(lstm);
lc = new Listcell(String.format("%s - %s", logAuditoria.getUsuario().getClaveUsuario(), logAuditoria.getUsuario().getNombusuario()));
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getTipoAlteracao());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getTela());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getCampoAlterado());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getValorNovo());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getValorAnterior());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getClasseAlterada());
lc.setParent(lstm);
lc = new Listcell(logAuditoria.getClassePrincipal());
lc.setParent(lstm);
lstm.setAttribute("data", logAuditoria);
}
}

View File

@ -499,6 +499,7 @@
<value>com.rjconsultores.ventaboletos.entidad.ConfRestricaoOrgaoConcedente</value>
<value>com.rjconsultores.ventaboletos.entidad.ConfRestricaoRutas</value>
<value>com.rjconsultores.ventaboletos.entidad.ConfRestricaoTramoOC</value>
<value>com.rjconsultores.ventaboletos.entidad.LogAuditoria</value>
</list>
</property>

View File

@ -192,6 +192,7 @@ indexController.mniConfiguracionServicio.label = Configuración de producto o se
indexController.mniPricingEspecifico.label = Pricing específico
indexController.mnSeguridad.label = Seguridad
indexController.mniPerfil.label = Perfil
indexController.mniLogAuditoria.label = Log Auditoria
indexController.mniPainelEcf.label = Painel ECF
indexController.mniPermisos.label = Permiso
indexController.mniMenus.label = Menu
@ -8821,3 +8822,14 @@ painelVendaEmbarcadaController.msg.confirmacaoaltecaourl = Tem certeza que desej
painelVendaEmbarcadaController.msg.urlformatoinvalido = URL tem formato formato inválido.
painelVendaEmbarcadaController.msg.scusso = URL atualizada com sucesso
#Log Auditoria
busquedaLogAuditoriaController.window.title = Registro de auditoría
busquedaLogAuditoriaController.lblDtAlteracao = Cambiar fecha
busquedaLogAuditoriaController.lblTipoAlteracao = Tipo de cambio
busquedaLogAuditoriaController.lblTela = Pantalla
busquedaLogAuditoriaController.lblCampoAlterado = Campo cambiado
busquedaLogAuditoriaController.lblValorNovo = Valor actual
busquedaLogAuditoriaController.lblValorAnterior = Valor Anterior
busquedaLogAuditoriaController.lblClasseAlterada = Clase cambiada
busquedaLogAuditoriaController.lblClassePrincipal = Clase Principal
busquedaLogAuditoriaController.lblIdAuditado = ID Auditado

View File

@ -196,6 +196,7 @@ indexController.mniConfiguracionServicio.label = Configuração de Produto ou Se
indexController.mniPricingEspecifico.label = Pricing Específico
indexController.mnSeguridad.label = Segurança
indexController.mniPerfil.label = Perfil
indexController.mniLogAuditoria.label = Log Auditoria
indexController.mniPainelEcf.label = Painel ECF
indexController.mniPermisos.label = Permissão
indexController.mniMenus.label = Menu
@ -9333,3 +9334,15 @@ relatorioCaixaOrgaoConcedenteController.window.title=Relatório Caixa por Órgã
relatorioCaixaOrgaoConcedenteController.lbDataInicio.value=Data Inicio
relatorioCaixaOrgaoConcedenteController.lbDataFinal.value=Data Final
relatorioCaixaOrgaoConcedenteController.lb.nomeBilheteiro.value = Nome Bilheteiro
#Log Auditoria
busquedaLogAuditoriaController.window.title = Log Auditoria
busquedaLogAuditoriaController.lblDtAlteracao = Data Alteração
busquedaLogAuditoriaController.lblTipoAlteracao = Tipo Alteração
busquedaLogAuditoriaController.lblTela = Tela
busquedaLogAuditoriaController.lblCampoAlterado = Campo Alterado
busquedaLogAuditoriaController.lblValorNovo = Valor Atual
busquedaLogAuditoriaController.lblValorAnterior = Valor Anterior
busquedaLogAuditoriaController.lblClasseAlterada = Classe Alterada
busquedaLogAuditoriaController.lblClassePrincipal = Classe Principal
busquedaLogAuditoriaController.lblIdAuditado = ID Auditado

View File

@ -0,0 +1,126 @@
<?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="winBusquedaLogAuditoria"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusquedaLogAuditoria" title="${c:l('busquedaLogAuditoriaController.window.title')}"
apply="${busquedaLogAuditoriaController}" contentStyle="overflow:auto"
height="600px" width="1300px" border="normal" >
<toolbar>
<button id="btnCerrar" onClick="winBusquedaLogAuditoria.detach()" image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaLogAuditoriaController.btnCerrar.tooltiptext')}"/>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="17%" />
<column width="35%" />
<column width="13%" />
<column width="35%" />
</columns>
<rows>
<row>
<label
value="${c:l('lb.dataIni.value')}" />
<datebox id="dtInicio" width="40%" mold="rounded"
format="dd/MM/yyyy" maxlength="10"
constraint="no empty" />
<label
value="${c:l('lb.dataFin.value')}" />
<datebox id="dtFim" width="40%" mold="rounded"
format="dd/MM/yyyy" maxlength="10"
constraint="no empty" />
</row>
<row spans="1,3">
<label
value="${c:l('lb.empresa')}" />
<combobox id="cmbEmpresa"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winBusquedaLogAuditoria$composer.lsEmpresa}"
width="40%" />
</row>
<row>
<label
value="${c:l('busquedaLogAuditoriaController.lblTela')}" />
<combobox id="cmbTela"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winBusquedaLogAuditoria$composer.lsTela}"
width="95%" />
<label
value="${c:l('busquedaLogAuditoriaController.lblTipoAlteracao')}" />
<combobox id="cmbTipoAlteracao"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winBusquedaLogAuditoria$composer.tipoAlteracaoList}"
width="95%" />
</row>
<row>
<label
value="${c:l('busquedaLogAuditoriaController.lblCampoAlterado')}" />
<textbox id="txtCampoAlterado"
width="70%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
<label
value="${c:l('busquedaLogAuditoriaController.lblValorNovo')}" />
<textbox id="txtValorNovo"
width="70%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row>
<label value="${c:l('indexController.mniUsuario.label')}"/>
<textbox id="txtCveUsuario"
width="70%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"/>
<label
value="${c:l('busquedaLogAuditoriaController.lblValorAnterior')}" />
<textbox id="txtValorAnterior"
width="70%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row spans="1, 3">
<label value="${c:l('busquedaLogAuditoriaController.lblIdAuditado')}"/>
<longbox id="txtIdAuditado" width="40%"/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('tooltiptext.btnPesquisa')}"/>
</toolbar>
<paging id="pagingLogAuditoria" pageSize="20" />
<listbox id="logAuditoriaList" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" height="50%" vflex="true">
<listhead sizable="true">
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblDtAlteracao')}" width="110px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblIdAuditado')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('lb.empresa')}" width="200px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('indexController.mniUsuario.label')}" width="130px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblTipoAlteracao')}" width="110px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblTela')}" width="200px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblCampoAlterado')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblValorNovo')}" width="240px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblValorAnterior')}" width="240px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblClasseAlterada')}" width="120px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaLogAuditoriaController.lblClassePrincipal')}" width="120px"/>
</listhead>
</listbox>
</window>
</zk>