/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package control; import dao.FabricaDao; import dao.FuncionarioDao; import domain.Cidade; import domain.Endereco; import domain.Funcionario; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Vector; import util.ConexaoException; import util.MinhaException; /** * * @author aluno-info3 */ public class ControladoraFuncionario { private Vector<Funcionario> vetFuncionarios = new Vector<Funcionario>(); private int marc; private SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); public Vector<Funcionario> getVetFuncionarios() { return vetFuncionarios; } public void setVetFuncionarios(Vector<Funcionario> vetFuncionarios) { this.vetFuncionarios = vetFuncionarios; } public int getMarc() { return marc; } public void setMarc(int marc) { this.marc = marc; } public Vector montarLinhaFuncionarioCompleto(Funcionario funcionario) { Vector linha = new Vector(); String data = formatoData.format(funcionario.getDataNasc()); linha.addElement(funcionario.getCodFuncionario()); linha.addElement(funcionario.getNome()); linha.addElement(funcionario.getCpf()); linha.addElement(funcionario.getEmail()); linha.addElement(funcionario.getTelefone()); linha.addElement(data); linha.addElement(funcionario.getLogin()); linha.addElement(funcionario.getSenha()); linha.addElement(funcionario.getCargo()); linha.addElement(funcionario.getEndereco().getNomeRua()); linha.addElement(funcionario.getEndereco().getNumero()); linha.addElement(funcionario.getEndereco().getNomeBairro()); linha.addElement(funcionario.getEndereco().getCidade().getNomeCidade()); linha.addElement(funcionario.getEndereco().getCidade().getUF().getUF()); linha.addElement(funcionario.getEndereco().getCidade().getUF().getNomeUF()); return linha; } private Vector montarLinhasFuncionarios(Funcionario funcionario) { Vector novaLinha = new Vector(); String data = formatoData.format(funcionario.getDataNasc()); novaLinha.addElement(funcionario.getCodFuncionario()); novaLinha.addElement(funcionario.getNome()); novaLinha.addElement(funcionario.getCpf()); novaLinha.addElement(funcionario.getEmail()); novaLinha.addElement(funcionario.getTelefone()); novaLinha.addElement(data); novaLinha.addElement(funcionario.getCargo()); novaLinha.addElement(funcionario.getEndereco().getNomeRua()); novaLinha.addElement(funcionario.getEndereco().getNumero()); novaLinha.addElement(funcionario.getEndereco().getNomeBairro()); novaLinha.addElement(funcionario.getEndereco().getCidade().getNomeCidade()); novaLinha.addElement(funcionario.getEndereco().getCidade().getUF().getUF()); return novaLinha; } public void criaNovoFuncionario(Funcionario funcionario, Vector novoFuncionario, ControladoraCidade controladoraCidade) throws ParseException, MinhaException, SQLException { SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); String novaData = novoFuncionario.get(2).toString(); java.sql.Date data = new java.sql.Date(formato.parse(novaData).getTime()); int numeroCasa = Integer.parseInt(novoFuncionario.get(4).toString()); Cidade cidade = new Cidade(); cidade = controladoraCidade.getVetCidades().get(controladoraCidade.getMarc()); Endereco endereco = new Endereco(); endereco.setNomeRua(novoFuncionario.get(3).toString()); endereco.setNumero(numeroCasa); endereco.setNomeBairro(novoFuncionario.get(5).toString()); endereco.setCidade(cidade); funcionario.setNome(novoFuncionario.get(0).toString()); funcionario.setCpf(novoFuncionario.get(1).toString()); funcionario.setDataNasc(data); funcionario.setEndereco(endereco); funcionario.setEmail(novoFuncionario.get(8).toString()); funcionario.setTelefone(novoFuncionario.get(9).toString()); funcionario.setCargo(novoFuncionario.get(10).toString()); funcionario.setLogin(novoFuncionario.get(11).toString()); funcionario.setSenha(novoFuncionario.get(12).toString()); } public void inserirFuncionario(Vector novoFuncionario ,ControladoraCidade controladoraCidade) throws ParseException, SQLException, MinhaException, ConexaoException { Funcionario funcionario = new Funcionario(); this.criaNovoFuncionario(funcionario, novoFuncionario, controladoraCidade); FuncionarioDao funcionarioDao = FabricaDao.getFuncionarioDao("JDBC"); funcionarioDao.inserirFuncionario(funcionario); } public Vector<Funcionario> selecionarvetFuncionariosPorCargo(String cargo) throws MinhaException, SQLException, ConexaoException { FuncionarioDao funcionarioDao = FabricaDao.getFuncionarioDao("JDBC"); this.vetFuncionarios = funcionarioDao.selecionarFuncionariosPorCargo(cargo); return this.vetFuncionarios; } public Vector obterFuncionariosPorCargo(String cargo) throws MinhaException, SQLException, ConexaoException { Vector<Funcionario> func = this.selecionarvetFuncionariosPorCargo(cargo); Vector FuncionariosCargo = new Vector(); for(int i = 0; i < func.size(); i++) FuncionariosCargo.add(func.get(i).getNome()); return FuncionariosCargo; } public void alterarFuncionario (Vector alteracaoFuncionario, ControladoraCidade controladoraCidade) throws ParseException, MinhaException, SQLException, ConexaoException { Funcionario funcionario = this.vetFuncionarios.get(this.marc); this.criaNovoFuncionario(funcionario, alteracaoFuncionario, controladoraCidade); FuncionarioDao funcionarioDao = FabricaDao.getFuncionarioDao("JDBC"); funcionarioDao.alterarFuncionario(funcionario); } public void removerFuncionario () throws MinhaException, SQLException, ConexaoException { Funcionario funcionario = this.vetFuncionarios.get(this.marc); FuncionarioDao funcionarioDao = FabricaDao.getFuncionarioDao("JDBC"); funcionarioDao.removerFuncionario(funcionario); this.vetFuncionarios.remove(this.marc); } public Funcionario selecionarFuncionario (Funcionario funcionario) { return null; } public Vector<Funcionario> selecionarTodosFuncionarios () throws MinhaException, SQLException, ConexaoException { FuncionarioDao funcionarioDao = FabricaDao.getFuncionarioDao("JDBC"); this.vetFuncionarios = funcionarioDao.selecionarTodosFuncionarios(); return this.vetFuncionarios; } public Vector obterLinhasFuncionarios() throws MinhaException, SQLException, ConexaoException { Vector<Funcionario> funcionarios = this.selecionarTodosFuncionarios(); Vector linhas = new Vector(); for(int i = 0; i < funcionarios.size(); i++){ Funcionario funcionario = funcionarios.get(i); linhas.addElement(this.montarLinhasFuncionarios(funcionario)); } return linhas; } }