package com.algaworks.pedidovenda.controller; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.faces.view.ViewScoped; import javax.inject.Inject; import javax.inject.Named; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import com.algaworks.pedidovenda.model.Pedido; import com.algaworks.pedidovenda.model.StatusPedido; import com.algaworks.pedidovenda.repository.Pedidos; import com.algaworks.pedidovenda.repository.filter.PedidoFilter; @Named @ViewScoped public class PesquisaPedidosBean implements Serializable { private static final long serialVersionUID = 1L; @Inject private Pedidos pedidos; private PedidoFilter filtro; private List<Pedido> pedidosFiltrados; public PesquisaPedidosBean() { filtro = new PedidoFilter(); pedidosFiltrados = new ArrayList<>(); } public void pesquisar() { pedidosFiltrados = pedidos.filtrados(filtro); } public void posProcessarXls(Object documento) { HSSFWorkbook planilha = (HSSFWorkbook) documento; HSSFSheet folha = planilha.getSheetAt(0); HSSFRow cabecalho = folha.getRow(0); HSSFCellStyle estiloCelula = planilha.createCellStyle(); Font fonteCabecalho = planilha.createFont(); fonteCabecalho.setColor(IndexedColors.WHITE.getIndex()); fonteCabecalho.setBold(true); fonteCabecalho.setFontHeightInPoints((short) 16); estiloCelula.setFont(fonteCabecalho); estiloCelula.setFillForegroundColor(IndexedColors.BLACK.getIndex()); estiloCelula.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); for (int i = 0; i < cabecalho.getPhysicalNumberOfCells(); i++) { cabecalho.getCell(i).setCellStyle(estiloCelula); } } public StatusPedido[] getStatuses() { return StatusPedido.values(); } public List<Pedido> getPedidosFiltrados() { return pedidosFiltrados; } public PedidoFilter getFiltro() { return filtro; } }