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;
}
}