br.edu.ifrs.restinga.modulorh.controle.SetorController.java Source code

Java tutorial

Introduction

Here is the source code for br.edu.ifrs.restinga.modulorh.controle.SetorController.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.edu.ifrs.restinga.modulorh.controle;

import br.edu.ifrs.restinga.modulorh.dao.SetorDAO;
import br.edu.ifrs.restinga.modulorh.modelo.Setor;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.ValidationException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 *
 * @author denilson
 */
@Controller
public class SetorController {

    SetorDAO setorDAO = new SetorDAO();
    String mensagem = null;

    /*
    @RequestMapping(value = "/setor",method = RequestMethod.GET)
    public @ResponseBody ArrayList<Setor> paginaCadastroSetor() {
    ArrayList<Setor> setores = new ArrayList(setorDAO.listarSetor());
    for(int i = 0; i<setores.size();i++){
        System.out.println(setores.get(i).getId());
    }
    return setores;
    }
    */
    @RequestMapping(value = "/setor")
    public String paginaCadastroSetor(ModelMap model) {
        model.addAttribute("ListaDeSetores", setorDAO.listarSetor());
        return "home/add-setor";
    }

    @RequestMapping(value = "/setor/salvarSetor", method = RequestMethod.POST)
    public String salvarSetor(@Valid Setor setor, BindingResult result, ModelMap model) {

        if (result.getErrorCount() == 0) {
            setorDAO.cadastrar(setor);
            mensagem = "cadastro realizado com sucesso";
        } else {
            mensagem = "Erro";
        }

        model.addAttribute("mensagemTitulo", mensagem);
        return "forward:/setor";
    }

    @RequestMapping("/setor/listarSetor")
    public String listarSetor(ModelMap model) {
        model.addAttribute("ListaDeSetores", setorDAO.listarSetor());
        return "home/list-setor";
    }

    @RequestMapping("/setor/editarSetor")
    public String paginaDeEdicao(Integer setorId, ModelMap model) {
        model.addAttribute("ListaDeNomesSetores", setorDAO.listarSetor());
        model.addAttribute("setor", setorDAO.carregar(setorId));
        return "setor/edit-setor";
    }

    @RequestMapping("/setor/salvarEdicao")
    public String salvarEdicao(@Valid Setor setor, BindingResult result, ModelMap model) {

        if (result.getErrorCount() == 0) {
            setorDAO.alterar(setor);
            mensagem = "Setor editado com sucesso!";
        } else {
            mensagem = "Erro";
            return "forward:/setor";
        }

        model.addAttribute("mensagemTitulo", mensagem);
        return "redirect:/setor/listarSetor";

    }

    public String excluirSetor(Integer setorId, ModelMap model) {
        @SuppressWarnings("unchecked")
        Setor setor;

        setor = setorDAO.carregar(setorId);

        if (!setor.getServidors().isEmpty()) {
            mensagem = "Existem Servidores Vinculado";

        } else {
            // setor1 = setorDAO.carregar(setorId);
            setorDAO.excluir(setor);
            mensagem = "Setor excluido com sucesso";

        }

        model.addAttribute("mensagemTitulo", mensagem);
        return "forward:/setor/listarSetor";

    }

    @RequestMapping("/setor/excluirSetor")
    public String excluirSetor(ArrayList<Integer> setorId, ModelMap model) {
        for (int i = 0; i <= setorId.size(); i++) {
            excluirSetor(setorId.get(i).intValue(), model);
        }
        return "forward:/setor/listarSetor";
    }

    @RequestMapping(value = "/setor/gerarPDF")
    public String gerar(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, DocumentException {
        response.setContentType("application/pdf");

        try {

            Document document = new Document();

            PdfWriter.getInstance(document, response.getOutputStream());

            Image image = Image.getInstance("http://www.planalto.gov.br/cciVil_03/decreto/Quadros/anteri1.gif");
            image.setAlignment(Image.ALIGN_CENTER);

            document.open();

            document.add(image);

            document.add(new Paragraph("Ministrio da Educao"));
            document.add(
                    new Paragraph("Instituto Federal de Educao, Cincia e Tecnologia do Rio Grande do Sul "));
            document.add(new Paragraph("Campus Restinga"));

            document.close();
        } catch (DocumentException de) {
            throw new IOException(de.getMessage());
        }
        return "forward:/setor/gerar";

    }
}