package com.algaworks.pedidovenda.controller; import java.io.Serializable; import java.util.List; import java.util.Map; 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 org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; 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 LazyDataModel<Pedido> model; public PesquisaPedidosBean() { filtro = new PedidoFilter(); model = new LazyDataModel<Pedido>() { private static final long serialVersionUID = 1L; @Override public List<Pedido> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { filtro.setPrimeiroRegistro(first); filtro.setQuantidadeRegistros(pageSize); filtro.setPropriedadeOrdenacao(sortField); filtro.setAscendente(SortOrder.ASCENDING.equals(sortOrder)); setRowCount(pedidos.quantidadeFiltrados(filtro)); return 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 PedidoFilter getFiltro() { return filtro; } public LazyDataModel<Pedido> getModel() { return model; } }