Controladores.controladorFuncionario.java Source code

Java tutorial

Introduction

Here is the source code for Controladores.controladorFuncionario.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 Controladores;

import DAO.Model.AtividadeDAO;
import DAO.Model.DicionarioDAO;
import DAO.Model.FuncionarioDAO;
import DAO.Model.ProjetoDAO;
import VO.Model.Funcionario;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Daniel
 */
@Controller
public class controladorFuncionario {

    @RequestMapping("/index")
    public ModelAndView minhaHome(HttpServletRequest request, HttpServletResponse response)
            throws SQLException, Exception {

        HttpSession sessao = request.getSession();
        Funcionario f = (Funcionario) sessao.getAttribute("funcionario");

        ModelAndView mv;

        if (request.getSession().getAttribute("logado") == null
                || (boolean) request.getSession().getAttribute("logado") == false) {

            mv = new ModelAndView("login");
            return mv;
        } else {

            mv = new ModelAndView("home");
            mv.addObject("lista", FuncionarioDAO.listarFuncionarios());
            mv.addObject("listaProjeto", ProjetoDAO.listarProjetos(f));
            mv.addObject("listaAtividade", AtividadeDAO.listarAtividadesFuncionario(f));

            return mv;
        }
    }

    @RequestMapping("lista-funcionario-restrito")
    public ModelAndView listaFuncionario() throws SQLException {
        ModelAndView mv = new ModelAndView("gridFuncionario");
        mv.addObject("lista", FuncionarioDAO.listarFuncionarios());
        return mv;
    }

    @RequestMapping("novo-funcionario-restrito")
    public ModelAndView novoFuncionario() {
        return modalCadFuncionario(new Funcionario(), "I");
    }

    @RequestMapping("altera-funcionario-restrito")
    public ModelAndView alterarFuncionario(int id) {
        try {
            Funcionario f = FuncionarioDAO.pesquisaFuncionario(id);
            return modalCadFuncionario(f, "A");
        } catch (Exception erro) {
            return null;
        }
    }

    private ModelAndView modalCadFuncionario(Funcionario f, String operacao) {

        try {
            ModelAndView mv = new ModelAndView("modal/cad-funcionario");
            mv.addObject("funcionario", f);
            mv.addObject("funcionarioOperacao", operacao);
            mv.addObject("Cargos", DicionarioDAO.listarCargos());
            return mv;
        } catch (Exception erro) {
            return null;
        }
    }

    @RequestMapping(value = "salva-funcionario-restrito", produces = "text/html; charset=UTF-8")
    @ResponseBody
    public String salvaFuncionario(String funcionarioJson, String operacao, String img) {

        try {
            HashMap<String, String> erros = new HashMap<String, String>();

            Funcionario funcionario = new Gson().fromJson(funcionarioJson, Funcionario.class);

            funcionario.setImgperfil(img);

            if (funcionario.getNome().trim().length() == 0) {
                erros.put("erroNome", "Informe o nome");
            }

            if (funcionario.getSobrenome().trim().length() == 0) {
                erros.put("erroSobrenome", "Informe o sobrenome");
            }

            if (funcionario.getEmail().trim().length() == 0) {
                erros.put("erroEmail", "Informe um email vlido");
            }

            if (funcionario.getPassword().trim().length() < 6) {
                erros.put("erroPassword", "Informe uma senha com pelo menos 6 caracteres");
            }

            if (funcionario.getTpcargo().getId() == 0) {
                erros.put("erroTpCargo", "Selecione o cargo");
            }

            if (img == null) {
                erros.put("erroImg", "Selecione uma imagem");
            }

            if (operacao.equalsIgnoreCase("I")) {
                funcionario.setDtcriacao(new Date());
                funcionario.setIsAtivo(Boolean.TRUE);
            }

            if (erros.isEmpty()) {
                FuncionarioDAO.salvarFuncionario(funcionario);
            }

            Gson gson = new Gson();
            JsonObject myObj = new JsonObject();

            myObj.addProperty("sucesso", erros.isEmpty());
            JsonElement objetoErrosEmJson = gson.toJsonTree(erros);
            myObj.add("erros", objetoErrosEmJson);

            return myObj.toString();
        } catch (Exception erro) {
            return null;
        }
    }
}