br.solutio.licita.controlador.ControladorPregao.java Source code

Java tutorial

Introduction

Here is the source code for br.solutio.licita.controlador.ControladorPregao.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.solutio.licita.controlador;

import br.solutio.licita.controlador.util.JsfUtil;
import br.solutio.licita.modelo.Item;
import br.solutio.licita.modelo.ItemPregao;
import br.solutio.licita.modelo.Pregao;
import br.solutio.licita.servico.ProdutorEntityManager;
import br.solutio.licita.servico.ServicoIF;
import br.solutio.licita.servico.ServicoPregao;
import br.solutio.licita.servico.ServicoPregaoIF;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.persistence.PersistenceException;
import org.apache.poi.hssf.usermodel.HSSFCell;
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.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;

/**
 * @author ricardocaldeira
 */
@ManagedBean
@SessionScoped
public class ControladorPregao extends ControladorAbstrato<Pregao> {

    private Pregao entidade;
    private ItemPregao itemPregao;
    private Item item;
    private transient List<Pregao> pregoes;
    private transient Set<ItemPregao> itensPregao;
    private transient ServicoPregaoIF servico;

    public ControladorPregao() {
        entidade = new Pregao();
        servico = new ServicoPregao(ProdutorEntityManager.getInstancia().getEmLocal());
        item = new Item();
        itemPregao = new ItemPregao();
    }

    @Override
    public String criar(Pregao entidade) {
        try {
            entidade = getEntidade();
            getServico().criar(entidade);
            setEntidade(null);
            setEntidade(new Pregao());
            JsfUtil.addSuccessMessage("Salvo com Sucesso!");
            return "pregao";
        } catch (PersistenceException | IllegalStateException e) {
            Logger.getLogger(ControladorPregao.class.getName()).log(Level.SEVERE, null, e);
            JsfUtil.addErrorMessage("Pregao ou Processo j existe");
            return "pregaoSalvar";
        }

    }

    @Override
    public String editar(Pregao entidade) {

        try {
            entidade = getEntidade();
            entidade.setItensPregoes(getItensPregao());
            Logger.getLogger(ControladorPregao.class.getName()).log(Level.INFO, "" + getItensPregao().size());
            Logger.getLogger(ControladorPregao.class.getName()).log(Level.INFO,
                    "" + entidade.getItensPregoes().size());
            getServico().editar(entidade);
            setEntidade(new Pregao());
            JsfUtil.addSuccessMessage("Atualizado com Sucesso!!?");
            return "pregao?faces-redirect=true";
        } catch (PersistenceException | IllegalStateException e) {
            Logger.getLogger(ControladorPregao.class.getName()).log(Level.SEVERE, null, e);
            JsfUtil.addErrorMessage("Pregao ou Processo j existe");
            return "pregaoEditar";
        }

    }

    @Override
    public String deletar(Pregao entidade) {
        entidade = getEntidade();
        getServico().deletar(entidade);
        setEntidade(new Pregao());
        JsfUtil.addSuccessMessage("Excluido com Sucesso!");
        return "pregao";
    }

    public String limparDados() {
        setEntidade(null);
        setEntidade(new Pregao());
        return "pregaoSalvar";
    }

    public String preparaEditar() {
        logger.log(Level.INFO, "Editar funfando");
        return "pregaoEditar";
    }

    public String preparaAdicionaItens() {
        logger.log(Level.INFO, "Adicionar Itens funfando");
        setItensPregao(null);
        return "pregaoAdicionarItens?faces-redirect=true";
    }

    public void adicionarItem() {
        itemPregao.setPregao(entidade);
        itemPregao.setItem(item);
        itensPregao.add(itemPregao);
        itemPregao = new ItemPregao();
        item = new Item();
    }

    public void removerItem() {
        itensPregao.remove(itemPregao);
    }

    public void editandoXlsParaExportar(Object document) {
        HSSFWorkbook wb = (HSSFWorkbook) document;
        HSSFSheet planilha = wb.getSheetAt(0);

        //Move as celulas selecionadas para baixo de acordo com o valor informado
        planilha.shiftRows(planilha.getFirstRowNum(), planilha.getLastRowNum(), 5);

        HSSFRow linha0 = planilha.createRow(0);
        linha0.createCell(0).setCellValue("Instituio Licitadora:");
        planilha.addMergedRegion(new CellRangeAddress(0, 0, 0, 1));
        linha0.createCell(2)
                .setCellValue(" " + getEntidade().getInstituicaoLicitadora().getPessoaJuridica().getNomeFantasia());
        planilha.addMergedRegion(new CellRangeAddress(0, 0, 2, 6));

        HSSFRow linha1 = planilha.createRow(1);
        linha1.createCell(0).setCellValue("Numero do Pregao:");
        planilha.addMergedRegion(new CellRangeAddress(1, 1, 0, 1));
        linha1.createCell(2).setCellValue(" " + getEntidade().getNumeroPregao());
        planilha.addMergedRegion(new CellRangeAddress(1, 1, 2, 6));

        HSSFRow linha2 = planilha.createRow(2);
        linha2.createCell(0).setCellValue("Numero do Processo:");
        planilha.addMergedRegion(new CellRangeAddress(2, 2, 0, 1));
        linha2.createCell(2).setCellValue(" " + getEntidade().getNumeroProcesso());
        planilha.addMergedRegion(new CellRangeAddress(2, 2, 2, 6));

        HSSFRow linha3 = planilha.createRow(3);
        linha3.createCell(0).setCellValue("Empresa Licitante:");
        planilha.addMergedRegion(new CellRangeAddress(3, 3, 0, 1));
        linha3.createCell(2).setCellValue("Preencha com o nome de sua Empresa");
        planilha.addMergedRegion(new CellRangeAddress(3, 3, 2, 6));

        HSSFRow linha4 = planilha.createRow(4);

        //Nova coluna para a empresas adicionarem seus valores
        HSSFRow linha5 = planilha.getRow(5);
        HSSFCell celula5 = linha5.createCell(5);
        celula5.setCellValue("Valor do Licitante");

        //for para ajustar automaticamente o tamnho das colunas
        for (int i = 0; i < 6; i++) {
            planilha.autoSizeColumn(i);
        }

        //Cor da linha de titulos da tabela
        HSSFCellStyle cellStyle = wb.createCellStyle();
        cellStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
        cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        for (int i = 0; i < linha5.getPhysicalNumberOfCells(); i++) {
            HSSFCell cell = linha5.getCell(i);

            cell.setCellStyle(cellStyle);
        }

        CellStyle unlockedCellStyle = wb.createCellStyle();
        unlockedCellStyle.setLocked(false);

        HSSFCell celula2 = linha3.getCell(2);
        celula2.setCellStyle(unlockedCellStyle);

    }

    @Override
    public ServicoIF getServico() {
        return this.servico;
    }

    @Override
    public Pregao getEntidade() {
        return entidade;
    }

    @Override
    public void setEntidade(Pregao entidade) {
        this.entidade = entidade;
    }

    public boolean getEditando() {
        return this.entidade.getId() != null;
    }

    public List<Pregao> getPregoes() {
        return pregoes = servico.buscarTodos();
    }

    public void setPregoes(List<Pregao> pregoes) {
        this.pregoes = pregoes;
    }

    public Set<ItemPregao> getItensPregao() {
        if (itensPregao == null) {
            itensPregao = servico.buscarItensPregoes(entidade);
        }
        return itensPregao;
    }

    public void setItensPregao(Set<ItemPregao> itensPregao) {
        this.itensPregao = itensPregao;
    }

    public ItemPregao getItemPregao() {
        return itemPregao;
    }

    public void setItemPregao(ItemPregao itemPregao) {
        this.itemPregao = itemPregao;
    }

    public Item getItem() {
        return item;
    }

    public void setItem(Item item) {
        this.item = item;
    }

}