Merge pull request 'fixes bug#AL-1626' (#17) from AL-1626 into master

Reviewed-on: http://18.235.188.113:3000/adm/VentaBoletosAdm/pulls/17
Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>
Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>
Reviewed-by: pinheiro <valdevir@rjconsultores.com.br>
master
fabio 2022-12-19 15:53:41 +00:00
commit baeb1484e2
10 changed files with 1017 additions and 3 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.0.13</version>
<version>1.0.14</version>
<packaging>war</packaging>
<distributionManagement>
@ -55,13 +55,13 @@
<dependency>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.0.11</version>
<version>1.0.12</version>
</dependency>
<dependency>
<groupId>br.com.rjconsultores</groupId>
<artifactId>Flyway</artifactId>
<version>1.0.3</version>
<version>1.0.5</version>
</dependency>
<dependency>

View File

@ -0,0 +1,555 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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.Filedownload;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Bandbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.enums.TipoDescontoBPe;
import com.rjconsultores.ventaboletos.enums.TipoIdentificacionDoc;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.SisdapService;
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
import com.rjconsultores.ventaboletos.utilerias.TimeZoneUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.OrgaoConcedente.RelatorioGratuidadeAgepanVO;
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.RenderDescontoGratuidade;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGratuidadeEstudante;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGratuidadeProfessor;
@Controller("relatorioSieController")
@Scope("prototype")
public class RelatorioSieController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioSieController.class);
private Integer MAX_BUFFER_ZIP = Integer.valueOf(18024);
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaGratuidade;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaDescontoIdoso;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaDescontoJovem;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaGratuidadeIdoso;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaGratuidadeJovem;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaGratuidadeEstudante;
@Autowired
private transient PagedListWrapper<Categoria> plwCategoriaGratuidadeProfessor;
private Datebox datInicio;
private Datebox datFinal;
private Empresa empresa;
private Combobox cmbEmpresa;
private MyTextbox txtGratuidade;
private Bandbox bbGratuidade;
private MyListbox pesquisaGratuidade;
private MyListbox pesquisaGratuidadeList;
private Paging pagingGratuidade;
private MyTextbox txtDescontoIdoso;
private Bandbox bbDescontoIdoso;
private MyListbox pesquisaDescontoIdoso;
private MyListbox pesquisaDescontoIdosoList;
private Paging pagingDescontoIdoso;
private MyTextbox txtDescontoJovem;
private Bandbox bbDescontoJovem;
private MyListbox pesquisaDescontoJovem;
private MyListbox pesquisaDescontoJovemList;
private Paging pagingDescontoJovem;
private MyTextbox txtGratuidadeIdoso;
private Bandbox bbGratuidadeIdoso;
private MyListbox pesquisaGratuidadeIdoso;
private MyListbox pesquisaGratuidadeIdosoList;
private Paging pagingGratuidadeIdoso;
private MyTextbox txtGratuidadeJovem;
private Bandbox bbGratuidadeJovem;
private MyListbox pesquisaGratuidadeJovem;
private MyListbox pesquisaGratuidadeJovemList;
private Paging pagingGratuidadeJovem;
private MyTextbox txtGratuidadeEstudante;
private Bandbox bbGratuidadeEstudante;
private MyListbox pesquisaGratuidadeEstudante;
private MyListbox pesquisaGratuidadeEstudanteList;
private Paging pagingGratuidadeEstudante;
private MyTextbox txtGratuidadeProfessor;
private Bandbox bbGratuidadeProfessor;
private MyListbox pesquisaGratuidadeProfessor;
private MyListbox pesquisaGratuidadeProfessorList;
private Paging pagingGratuidadeProfessor;
@Autowired
private EmpresaService empresaService;
@Autowired
private SisdapService sieService;
private List<Empresa> lsEmpresa;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresa = empresaService.obtenerTodos();
super.doAfterCompose(comp);
pesquisaGratuidadeList.setItemRenderer(new RenderDescontoGratuidade());
pesquisaDescontoIdosoList.setItemRenderer(new RenderDescontoGratuidade());
pesquisaGratuidadeIdosoList.setItemRenderer(new RenderDescontoGratuidade());
pesquisaDescontoJovemList.setItemRenderer(new RenderDescontoGratuidade());
pesquisaGratuidadeJovemList.setItemRenderer(new RenderDescontoGratuidade());
pesquisaGratuidadeEstudanteList.setItemRenderer(new RenderGratuidadeEstudante());
pesquisaGratuidadeProfessorList.setItemRenderer(new RenderGratuidadeProfessor());
}
public void onClick$btnPesquisaGratuidadeProfessor(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingGratuidadeProfessor.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtGratuidadeProfessor.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaGratuidadeProfessor.init(categoria, pesquisaGratuidadeProfessorList, pagingGratuidadeProfessor);
}
public void onClick$btnPesquisaGratuidadeEstudante(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingGratuidadeEstudante.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtGratuidadeEstudante.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaGratuidadeEstudante.init(categoria, pesquisaGratuidadeEstudanteList, pagingGratuidadeEstudante);
}
public void onClick$btnPesquisaGratuidade(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingGratuidade.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtGratuidade.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaGratuidade.init(categoria, pesquisaGratuidadeList, pagingGratuidade);
}
public void onClick$btnPesquisaDescontoIdoso(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingDescontoIdoso.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtDescontoIdoso.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaDescontoIdoso.init(categoria, pesquisaDescontoIdosoList, pagingDescontoIdoso);
}
public void onClick$btnPesquisaDescontoJovem(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingDescontoJovem.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtDescontoJovem.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaDescontoJovem.init(categoria, pesquisaDescontoJovemList, pagingDescontoJovem);
}
public void onClick$btnPesquisaGratuidadeIdoso(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingGratuidadeIdoso.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtGratuidadeIdoso.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaGratuidadeIdoso.init(categoria, pesquisaGratuidadeIdosoList, pagingGratuidadeIdoso);
}
public void onClick$btnPesquisaGratuidadeJovem(Event ev) {
HibernateSearchObject<Categoria> categoria = new HibernateSearchObject<Categoria>(Categoria.class, pagingGratuidadeJovem.getPageSize());
categoria.addFilterILike("desccategoria", "%" + txtGratuidadeJovem.getValue() + "%");
categoria.addSortAsc("desccategoria");
categoria.addFilterEqual("activo", Boolean.TRUE);
plwCategoriaGratuidadeJovem.init(categoria, pesquisaGratuidadeJovemList, pagingGratuidadeJovem);
}
public void onDoubleClick$pesquisaGratuidade(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidade.getSelected();
pesquisaGratuidade.removeItem(categoria);
}
public void onDoubleClick$pesquisaDescontoIdoso(Event ev) {
Categoria categoria = (Categoria) pesquisaDescontoIdoso.getSelected();
pesquisaDescontoIdoso.removeItem(categoria);
}
public void onDoubleClick$pesquisaDescontoJovem(Event ev) {
Categoria categoria = (Categoria) pesquisaDescontoJovem.getSelected();
pesquisaDescontoJovem.removeItem(categoria);
}
public void onDoubleClick$pesquisaGratuidadeIdoso(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeIdoso.getSelected();
pesquisaGratuidadeIdoso.removeItem(categoria);
}
public void onDoubleClick$pesquisaGratuidadeJovem(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeJovem.getSelected();
pesquisaGratuidadeJovem.removeItem(categoria);
}
public void onDoubleClick$pesquisaGratuidadeList(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeList.getSelected();
pesquisaGratuidade.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaDescontoIdosoList(Event ev) {
Categoria categoria = (Categoria) pesquisaDescontoIdosoList.getSelected();
pesquisaDescontoIdoso.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaDescontoJovemList(Event ev) {
Categoria categoria = (Categoria) pesquisaDescontoJovemList.getSelected();
pesquisaDescontoJovem.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaGratuidadeIdosoList(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeIdosoList.getSelected();
pesquisaGratuidadeIdoso.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaGratuidadeJovemList(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeJovemList.getSelected();
pesquisaGratuidadeJovem.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaGratuidadeProfessorList(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeProfessorList.getSelected();
pesquisaGratuidadeProfessor.addItemNovo(categoria);
}
public void onDoubleClick$pesquisaGratuidadeEstudanteList(Event ev) {
Categoria categoria = (Categoria) pesquisaGratuidadeEstudanteList.getSelected();
pesquisaGratuidadeEstudante.addItemNovo(categoria);
}
public void onClick$btnLimparGratuidade(Event ev) {
pesquisaGratuidadeList.setData(new ArrayList<Categoria>());
bbGratuidade.setText("");
}
public void onClick$btnLimparDescontoIdoso(Event ev) {
pesquisaDescontoIdosoList.setData(new ArrayList<Categoria>());
bbDescontoIdoso.setText("");
}
public void onClick$btnLimparDescontoJovem(Event ev) {
pesquisaDescontoJovemList.setData(new ArrayList<Categoria>());
bbDescontoJovem.setText("");
}
public void onClick$btnLimparGratuidadeIdoso(Event ev) {
pesquisaGratuidadeIdosoList.setData(new ArrayList<Categoria>());
bbGratuidadeIdoso.setText("");
}
public void onClick$btnLimparGratuidadeJovem(Event ev) {
pesquisaGratuidadeJovemList.setData(new ArrayList<Categoria>());
bbGratuidadeJovem.setText("");
}
public void onClick$btnLimparGratuidadeEstudante(Event ev) {
pesquisaGratuidadeEstudante.setData(new ArrayList<Categoria>());
bbGratuidadeEstudante.setText("");
}
public void onClick$btnLimparGratuidadeProfessor(Event ev) {
pesquisaGratuidadeProfessor.setData(new ArrayList<Categoria>());
bbGratuidadeProfessor.setText("");
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
if (pesquisaGratuidade.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.gratuidade.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (pesquisaDescontoIdoso.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.desconto.idoso.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (pesquisaGratuidadeIdoso.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.gratuidade.idoso.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (pesquisaDescontoJovem.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.desconto.jovem.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (pesquisaGratuidadeJovem.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.gratuidade.jovem.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (cmbEmpresa.getSelectedIndex() < 0) {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.empresaErro"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return;
}
if (pesquisaGratuidadeEstudante.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.gratuidade.estudante.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
if (pesquisaGratuidadeProfessor.getListData().size() == 0) {
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.gratuidade.professor.obrigatorio"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
processarRelatorioSie(datInicio.getValue(), datFinal.getValue(), pesquisaGratuidade, pesquisaDescontoIdoso, pesquisaGratuidadeIdoso, pesquisaDescontoJovem, pesquisaGratuidadeJovem, pesquisaGratuidadeProfessor, pesquisaGratuidadeEstudante);
}
private void zipFiles(String[] filesToZip, String fileOutputName) {
byte[] buffer = new byte[MAX_BUFFER_ZIP];
try {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(fileOutputName));
// Ajusta modo de compress<73>o
out.setLevel(Deflater.DEFAULT_COMPRESSION);
// faz a itera<72><61>o sobre os arquivos, adicionando-os ao arquivo ZIP
for (int i = 0; i < filesToZip.length; i++) {
FileInputStream in = new FileInputStream(filesToZip[i]);
// Add ZIP entry to output stream.
out.putNextEntry(new ZipEntry(filesToZip[i]));
// Transfer bytes from the current file to the ZIP file
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
// Close the current entry
out.closeEntry();
// Close the current file input stream
in.close();
}
// Close the ZipOutPutStream
out.close();
} catch (IllegalArgumentException iae) {
log.error("", iae);
} catch (FileNotFoundException fnfe) {
log.error("", fnfe);
} catch (IOException ioe) {
log.error("", ioe);
}
}
private void processarRelatorioSie(Date fecInicio, Date fecFinal, MyListbox gratuidade, MyListbox pesquisaDescontoIdoso, MyListbox pesquisaGratuidadeIdoso, MyListbox pesquisaDescontoJovem, MyListbox pesquisaGratuidadeJovem, MyListbox pesquisaGratuidadeProfessor, MyListbox pesquisaGratuidadeEstudante) {
List<String> movimentoLinhas = sieService.getMovimentoLinhas(fecInicio, fecFinal, empresa.getEmpresaId());
@SuppressWarnings("unchecked")
List<String> movimentoSecoes = sieService.getMovimentoSecoes(fecInicio, fecFinal, empresa.getEmpresaId(), gratuidade.getListData(), pesquisaDescontoIdoso.getListData(), pesquisaGratuidadeIdoso.getListData(), pesquisaDescontoJovem.getListData(), pesquisaGratuidadeJovem.getListData(), pesquisaGratuidadeProfessor.getListData(), pesquisaGratuidadeEstudante.getListData());
if (movimentoLinhas.size() <= 1 && movimentoSecoes.size() <= 1) {
// N<>o retornou dados
try {
Messagebox.show(Labels.getLabel("relatorioSieController.MSG.nenhumRegistro"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException e) {
log.error("", e);
}
return;
}
try {
String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario()
+ "_" + Calendar.getInstance().getTime().getTime()
+ "_" + "Sie.xls";
InputStream arquivo = gerarArquivoExcel(movimentoLinhas);
Filedownload.save(arquivo, "application/xls", nomeArquivo);
Messagebox.show( nomeArquivo + " " + Labels.getLabel("relatorioSieController.MSG.arquivogerado"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
try {
String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario()
+ "_" + Calendar.getInstance().getTime().getTime()
+ "_" + "Sie.xls";
InputStream arquivo = gerarArquivoExcel(movimentoSecoes);
Filedownload.save(arquivo, "application/xls", nomeArquivo);
Messagebox.show( nomeArquivo + " " + Labels.getLabel("relatorioSieController.MSG.arquivogerado"),
Labels.getLabel("filtroRelatorioSie.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
private void criarRow(int numRow, HSSFSheet sheet, String[] dados) {
int numColumn = 0;
HSSFRow row = sheet.createRow(numRow);
for (String dado : dados) {
HSSFCell cell = row.createCell(numColumn++);
cell.setCellValue(dado);
}
}
private void criarArquivoExcel(HSSFWorkbook wb, List<String> movimento) {
HSSFSheet sheet = wb.createSheet("Sie");
int contRow = 0;
String cabecalhoStr = movimento.get(0);
String[] arrOfcabecalhoStr = cabecalhoStr.split(";", -2); //transforma a linha em array para se transforma na coluna do excel
criarRow(contRow++, sheet, arrOfcabecalhoStr);
for (int i = 1; i < movimento.size(); i++) {
String str = movimento.get(i);
String[] strArray = str.split(";", -2); //transforma a linha em array para se transforma na coluna do excel
criarRow(contRow++, sheet, strArray);
}
for (int i = 0; i < arrOfcabecalhoStr.length; i++) {
sheet.autoSizeColumn(i);
}
}
private InputStream gerarArquivoExcel(List<String> movimento) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook(); //cria a planilha do excel
criarArquivoExcel(wb, movimento);
String nomeArquivo = UsuarioLogado.getUsuarioLogado().getNombusuario()
+ "_" + Calendar.getInstance().getTime().getTime()
+ "_" + "Sie";
File fNomeArquivo = File.createTempFile(nomeArquivo, ".tmp");
FileOutputStream stream = new FileOutputStream(fNomeArquivo);
stream.flush();
wb.write(stream);
stream.close();
InputStream is = new FileInputStream(fNomeArquivo);
return is;
}
}

View File

@ -0,0 +1,25 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuRelatorioSie extends DefaultItemMenuSistema {
public ItemMenuRelatorioSie() {
super("indexController.mniRelatorioSie.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOSIE";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioSie.zul",
Labels.getLabel("relatorioSieController.window.title"), getArgs(), desktop);
}
}

View File

@ -250,6 +250,7 @@ analitico.gerenciais.pacote.resumido=com.rjconsultores.ventaboletos.web.utileria
analitico.gerenciais.relatorioRemessaCNAB=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioRemessaCNAB
analitico.integracion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.integracion.SubMenuIntegracion
analitico.integracion.sisdap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSisdap
analitico.integracion.sie=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSie
analitico.integracion.sap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSap
analitico.integracion.derpr=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDERPR
analitico.integracion.aidf=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidf

View File

@ -0,0 +1,27 @@
/**
*
*/
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.Categoria;
/**
* @author Thiago
*
*/
public class RenderGratuidadeEstudante implements ListitemRenderer {
@Override
public void render(Listitem lstm, Object o) throws Exception {
Categoria categoria = (Categoria) o;
Listcell lc = new Listcell(categoria.getDesccategoria());
lc.setParent(lstm);
lstm.setAttribute("Categoria", categoria);
}
}

View File

@ -0,0 +1,27 @@
/**
*
*/
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.Categoria;
/**
* @author Thiago
*
*/
public class RenderGratuidadeProfessor implements ListitemRenderer {
@Override
public void render(Listitem lstm, Object o) throws Exception {
Categoria categoria = (Categoria) o;
Listcell lc = new Listcell(categoria.getDesccategoria());
lc.setParent(lstm);
lstm.setAttribute("Categoria", categoria);
}
}

View File

@ -334,6 +334,7 @@ indexController.mniRelatorioLinhasHorario.label = Linhas por Horário
indexController.mniRelatorioTaxasLinha.label = Taxas
indexController.mniRelatorioDevolucaoBilhetes.label = Bilhetes Devolvidos
indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSie.label=SIE (Deter)
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioMmphDer.label=MMPH-DER
@ -982,6 +983,34 @@ relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informa
relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Relatório SISDAP
# Relatorio Sie
relatorioSieController.window.title=Relatório SIE (Deter)
relatorioSieController.lbDatInicio.value=Data Inicio
relatorioSieController.lbDatFinal.value=Data Fim
relatorioSieController.lbEmpresa.value=Empresa
relatorioSieController.btnCerrar.tooltiptext=Sair
relatorioSieController.MSG.empresaErro=Deve selecionar uma empresa!
relatorioSieController.MSG.nenhumRegistro=Nenhum registro encontrado para o relatório
relatorioSieController.gratuidade.value=Gratuidade Passe Livre
relatorioSieController.desconto.value=Desconto
relatorioSieController.desconto.idoso.value=Desconto idoso
relatorioSieController.gratuidade.idoso.value=Gratuidade idoso
relatorioSieController.desconto.jovem.value=Desconto jovem
relatorioSieController.gratuidade.jovem.value=Gratuidade jovem
relatorioSieController.gratuidade.professor.value=Gratuidade professor
relatorioSieController.gratuidade.estudante.value=Gratuidade estudante
relatorioSieController.btnPesquisa.label=Pesquisar
relatorioSieController.btnLimpar.label=Limpar
relatorioSieController.MSG.gratuidade.obrigatorio=É obrigatório informar as categorias de desconto
relatorioSieController.MSG.desconto.idoso.obrigatorio=É obrigatório informar as categorias de desconto do idoso
relatorioSieController.MSG.gratuidade.idoso.obrigatorio=É obrigatório informar as categorias de gratuidade do idoso
relatorioSieController.MSG.desconto.jovem.obrigatorio=É obrigatório informar as categorias de desconto do jovem
relatorioSieController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
relatorioSieController.MSG.gratuidade.professor.obrigatorio=É obrigatório informar as categorias de gratuidade do professor
relatorioSieController.MSG.gratuidade.estudante.obrigatorio=É obrigatório informar as categorias de gratuidade do estudante
relatorioSieController.MSG.arquivogerado=gerado com sucesso
filtroRelatorioSie.window.title=Relatório SIE (Deter)
# Relatorio Sap
relatorioSapController.window.title=Integração SAP
relatorioSapController.lbEmpresa.label = Empresa

View File

@ -318,6 +318,7 @@ indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acom
indexController.mniRelatorioLinhasHorario.label = Rutas por horário
indexController.mniRelatorioTaxasLinha.label = Tasas
indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSie.label=SIE (Deter)
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioMmphDer.label=MMPH-DER
@ -850,6 +851,34 @@ relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informa
relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Reporte SISDAP
# Relatorio Sie
relatorioSieController.window.title=Relatório SIE (Deter)
relatorioSieController.lbDatInicio.value=Data Inicio
relatorioSieController.lbDatFinal.value=Data Fim
relatorioSieController.lbEmpresa.value=Empresa
relatorioSieController.btnCerrar.tooltiptext=Sair
relatorioSieController.MSG.empresaErro=Deve selecionar uma empresa!
relatorioSieController.MSG.nenhumRegistro=Nenhum registro encontrado para o relatório
relatorioSieController.gratuidade.value=Gratuidade Passe Livre
relatorioSieController.desconto.value=Desconto
relatorioSieController.desconto.idoso.value=Desconto idoso
relatorioSieController.gratuidade.idoso.value=Gratuidade idoso
relatorioSieController.desconto.jovem.value=Desconto jovem
relatorioSieController.gratuidade.jovem.value=Gratuidade jovem
relatorioSieController.gratuidade.professor.value=Gratuidade professor
relatorioSieController.gratuidade.estudante.value=Gratuidade estudante
relatorioSieController.btnPesquisa.label=Pesquisar
relatorioSieController.btnLimpar.label=Limpar
relatorioSieController.MSG.gratuidade.obrigatorio=É obrigatório informar as categorias de desconto
relatorioSieController.MSG.desconto.idoso.obrigatorio=É obrigatório informar as categorias de desconto do idoso
relatorioSieController.MSG.gratuidade.idoso.obrigatorio=É obrigatório informar as categorias de gratuidade do idoso
relatorioSieController.MSG.desconto.jovem.obrigatorio=É obrigatório informar as categorias de desconto do jovem
relatorioSieController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
relatorioSieController.MSG.gratuidade.professor.obrigatorio=É obrigatório informar as categorias de gratuidade do professor
relatorioSieController.MSG.gratuidade.estudante.obrigatorio=É obrigatório informar as categorias de gratuidade do estudante
relatorioSieController.MSG.arquivogerado=gerado com sucesso
filtroRelatorioSie.window.title=Relatório SIE (Deter)
# Relatorio Sap
relatorioSapController.window.title=Integração SAP
relatorioSapController.lbEmpresa.label = Empresa

View File

@ -334,6 +334,7 @@ indexController.mniRelatorioLinhasHorario.label = Linhas por Horário
indexController.mniRelatorioTaxasLinha.label = Taxas
indexController.mniRelatorioDevolucaoBilhetes.label = Bilhetes Devolvidos
indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSie.label=SIE (Deter)
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioMmphDer.label=MMPH-DER
@ -982,6 +983,35 @@ relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informa
relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Relatório SISDAP
# Relatorio Sie
relatorioSieController.window.title=Relatório SIE (Deter)
relatorioSieController.lbDatInicio.value=Data Inicio
relatorioSieController.lbDatFinal.value=Data Fim
relatorioSieController.lbEmpresa.value=Empresa
relatorioSieController.btnCerrar.tooltiptext=Sair
relatorioSieController.MSG.empresaErro=Deve selecionar uma empresa!
relatorioSieController.MSG.nenhumRegistro=Nenhum registro encontrado para o relatório
relatorioSieController.gratuidade.value=Gratuidade Passe Livre
relatorioSieController.desconto.value=Desconto
relatorioSieController.desconto.idoso.value=Desconto idoso
relatorioSieController.gratuidade.idoso.value=Gratuidade idoso
relatorioSieController.desconto.jovem.value=Desconto jovem
relatorioSieController.gratuidade.jovem.value=Gratuidade jovem
relatorioSieController.gratuidade.professor.value=Gratuidade professor
relatorioSieController.gratuidade.estudante.value=Gratuidade estudante
relatorioSieController.btnPesquisa.label=Pesquisar
relatorioSieController.btnLimpar.label=Limpar
relatorioSieController.MSG.gratuidade.obrigatorio=É obrigatório informar as categorias de desconto
relatorioSieController.MSG.desconto.idoso.obrigatorio=É obrigatório informar as categorias de desconto do idoso
relatorioSieController.MSG.gratuidade.idoso.obrigatorio=É obrigatório informar as categorias de gratuidade do idoso
relatorioSieController.MSG.desconto.jovem.obrigatorio=É obrigatório informar as categorias de desconto do jovem
relatorioSieController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
relatorioSieController.MSG.gratuidade.professor.obrigatorio=É obrigatório informar as categorias de gratuidade do professor
relatorioSieController.MSG.gratuidade.estudante.obrigatorio=É obrigatório informar as categorias de gratuidade do estudante
relatorioSieController.MSG.arquivogerado=gerado com sucesso
filtroRelatorioSie.window.title=Relatório SIE (Deter)
# Relatorio Sap
relatorioSapController.window.title=Integração SAP
relatorioSapController.lbEmpresa.label = Empresa

View File

@ -0,0 +1,291 @@
<?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="winFiltroRelatorioSie"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioSie"
apply="${relatorioSieController}"
contentStyle="overflow:auto" height="450px" width="550px"
border="normal" closable="true">
<grid fixedLayout="true">
<columns>
<column width="100%" />
</columns>
<rows>
<row>
<cell>
<label
value="${c:l('relatorioSieController.lbDatInicio.value')}" />
<space />
<datebox id="datInicio" format="dd/MM/yyyy"
constraint="no empty" maxlength="10" />
</cell>
</row>
<row>
<cell>
<label
value="${c:l('relatorioSieController.lbDatFinal.value')}" />
<space />
<datebox id="datFinal" format="dd/MM/yyyy"
constraint="no empty" maxlength="10" />
</cell>
</row>
<row>
<cell>
<label
value="${c:l('relatorioSieController.lbEmpresa.value')}" />
<space />
<combobox id="cmbEmpresa" width="70%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioSie$composer.lsEmpresa}"
selectedItem="@{winFiltroRelatorioSie$composer.empresa}" />
</cell>
</row>
<!-- GRATUIDADE -->
<row>
<cell>
<label value="${c:l('relatorioSieController.gratuidade.value')}" />
<bandbox id="bbGratuidade" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.gratuidade.value')}" />
<textbox id="txtGratuidade" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaGratuidade" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparGratuidade" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingGratuidade" pageSize="10" />
<listbox id="pesquisaGratuidadeList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.gratuidade.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaGratuidade" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- DESCONTO IDOSO -->
<row>
<cell>
<label value="${c:l('relatorioSieController.desconto.idoso.value')}" />
<bandbox id="bbDescontoIdoso" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.desconto.idoso.value')}" />
<textbox id="txtDescontoIdoso" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaDescontoIdoso" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparDescontoIdoso" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingDescontoIdoso" pageSize="10" />
<listbox id="pesquisaDescontoIdosoList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.desconto.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaDescontoIdoso" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- GRATUIDADE IDOSO -->
<row>
<cell>
<label value="${c:l('relatorioSieController.gratuidade.idoso.value')}" />
<bandbox id="bbGratuidadeIdoso" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.gratuidade.idoso.value')}" />
<textbox id="txtGratuidadeIdoso" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaGratuidadeIdoso" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparGratuidadeIdoso" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingGratuidadeIdoso" pageSize="10" />
<listbox id="pesquisaGratuidadeIdosoList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.gratuidade.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaGratuidadeIdoso" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- GRATUIDADE JOVEM -->
<row>
<cell>
<label value="${c:l('relatorioSieController.desconto.jovem.value')}" />
<bandbox id="bbDescontoJovem" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.desconto.jovem.value')}" />
<textbox id="txtDescontoJovem" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaDescontoJovem" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparDescontoJovem" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingDescontoJovem" pageSize="10" />
<listbox id="pesquisaDescontoJovemList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.desconto.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaDescontoJovem" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- GRATUIDADE JOVEM -->
<row>
<cell>
<label value="${c:l('relatorioSieController.gratuidade.jovem.value')}" />
<bandbox id="bbGratuidadeJovem" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.gratuidade.jovem.value')}" />
<textbox id="txtGratuidadeJovem" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaGratuidadeJovem" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparGratuidadeJovem" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingGratuidadeJovem" pageSize="10" />
<listbox id="pesquisaGratuidadeJovemList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.gratuidade.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaGratuidadeJovem" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- GRATUIDADE ESTUDANTE -->
<row>
<cell>
<label value="${c:l('relatorioSieController.gratuidade.estudante.value')}" />
<bandbox id="bbGratuidadeEstudante" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.gratuidade.estudante.value')}" />
<textbox id="txtGratuidadeEstudante" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaGratuidadeEstudante" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparGratuidadeEstudante" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingGratuidadeEstudante" pageSize="10" />
<listbox id="pesquisaGratuidadeEstudanteList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.gratuidade.estudante.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaGratuidadeEstudante" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
<!-- GRATUIDADE PROFESSOR -->
<row>
<cell>
<label value="${c:l('relatorioSieController.gratuidade.professor.value')}" />
<bandbox id="bbGratuidadeProfessor" width="100%" mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label value="${c:l('relatorioSieController.gratuidade.professor.value')}" />
<textbox id="txtGratuidadeProfessor" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" width="300px" mold="rounded" />
<button id="btnPesquisaGratuidadeProfessor" image="/gui/img/find.png" label="${c:l('relatorioSieController.btnPesquisa.label')}" />
<button id="btnLimparGratuidadeProfessor" image="/gui/img/eraser.png" label="${c:l('relatorioSieController.btnLimpar.label')}" />
</hbox>
<paging id="pagingGratuidadeProfessor" pageSize="10" />
<listbox id="pesquisaGratuidadeProfessorList" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100%" width="700px">
<listhead>
<listheader label="${c:l('relatorioSieController.gratuidade.professor.value')}" />
</listhead>
</listbox>
</vbox>
</bandpopup>
</bandbox>
</cell>
</row>
<row spans="4">
<listbox id="pesquisaGratuidadeProfessor" mold="paging" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" height="100px" width="100%">
<listhead>
<listheader
label="${c:l('relatorioBilhetesVendidosController.categoria.label')}" />
<listheader width="5%" />
</listhead>
</listbox>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>