Search in sources :

Example 6 with Conclusao

use of com.tomasio.projects.trainning.model.Conclusao in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllConcluidosTurmasOresp.

@Override
@Transactional(readOnly = true)
public ConclusaoDTO[] findAllConcluidosTurmasOresp(Long organizacaoRespId, Date exercicio, boolean aproveitamento, String searchTerm) {
    ConclusaoDAO dao = factory.getConclusaoDAO();
    ConclusaoDTO[] concluidosArray = null;
    try {
        // busca todas as conclusões das turmas de uma determinada ORESP
        // em um determinado exercício
        List<Conclusao> concluidos = dao.findAllConcluidosTurmasOresp(organizacaoRespId, exercicio, aproveitamento, searchTerm);
        concluidosArray = new ConclusaoDTO[concluidos.size()];
        for (int i = 0; i < concluidosArray.length; i++) {
            concluidosArray[i] = concluidos.get(i).createDTO();
        }
        return concluidosArray;
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
        throw new CoreException(ex.getMessage());
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) CertificadoConclusaoDTO(com.tomasio.projects.trainning.dto.CertificadoConclusaoDTO) ConclusaoDTO(com.tomasio.projects.trainning.dto.ConclusaoDTO) ConclusaoDAO(com.tomasio.projects.trainning.dao.ConclusaoDAO) CertificadoConclusaoDAO(com.tomasio.projects.trainning.dao.CertificadoConclusaoDAO) CertificadoConclusao(com.tomasio.projects.trainning.model.CertificadoConclusao) Conclusao(com.tomasio.projects.trainning.model.Conclusao) Transactional(org.springframework.transaction.annotation.Transactional)

Example 7 with Conclusao

use of com.tomasio.projects.trainning.model.Conclusao in project trainning by fernandotomasio.

the class HibernateIndicacaoDAO method travaDeIndicacao.

@Override
public void travaDeIndicacao(Indicacao indicacao, String chamada) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    TurmaEfetiva turma = (TurmaEfetiva) session.get(TurmaEfetiva.class, indicacao.getTurma().getId());
    SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
    SimpleDateFormat dfExec = new SimpleDateFormat("yyyy");
    Date exercicio = null;
    try {
        exercicio = dfExec.parse(dfExec.format(new Date()));
    } catch (ParseException ex) {
        Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    String erroMessage = "";
    boolean erro = false;
    String message = "<br>";
    // if (indicacao instanceof IndicacaoAluno) {
    // teste: se matriculado no mesmo curso no ano vigente
    // não permitir e avisar ao usuário - COMGAP PODE
    @SuppressWarnings("unchecked") List<Matricula> matriculasNesteCurso = session.createQuery("" + "from MatriculaAluno m " + "where m.pessoa.id = :pessoaId " + "and m.turma.exercicio=:exercicio " + "and m.turma.curso.id=:cursoId").setLong("pessoaId", indicacao.getPessoa().getId()).setLong("cursoId", turma.getCurso().getId()).setDate("exercicio", exercicio).list();
    if (matriculasNesteCurso.size() > 0) {
        // vasculhar as matriculas para verificar se é válida e pegar os detalhes
        for (Matricula matricula : matriculasNesteCurso) {
            Organizacao organizacaoGestora = (Organizacao) session.get(Organizacao.class, matricula.getTurma().getOrganizacaoGestoraId());
            // verificar se é válida
            if (!matricula.isCancelada()) {
                String ano;
                ano = dfExec.format(matricula.getTurma().getExercicio());
                message += "=> " + matricula.getTurma().getCurso().getCodigo() + " - " + matricula.getTurma().getNumeroTurma() + " / " + ano + " (" + organizacaoGestora.getSigla() + ") - Período de " + df.format(matricula.getTurma().getDataInicio()) + " a " + df.format(matricula.getTurma().getDataTermino()) + "<br>";
            }
        }
        erroMessage += "O candidato já está matriculado neste curso no ano vigente, na(s) seguinte(s) edição(ões):<br>" + message + "<BR>";
        erro = true;
    // throw new DAOException("O candidato já está matriculado neste curso no ano vigênte");
    }
    // teste: se já concluiu COM APROVEITAMENTO esse curso anteriormente
    // não permitir e avisar ao usuário - COMGAP PODE
    @SuppressWarnings("unchecked") List<Conclusao> conclusoes = session.createQuery("" + "from Conclusao c " + "where c.pessoa.id = :pessoaId " + "and c.capacitacao.id= :capacitacaoId " + "and c.comAproveitamento=true").setLong("pessoaId", indicacao.getPessoa().getId()).setLong("capacitacaoId", turma.getCurso().getId()).list();
    if (conclusoes.size() > 0) {
        message = "";
        // vasculhar as apresentacoes para pegar os detalhes
        for (Conclusao curso : conclusoes) {
            if (curso.getMatricula() != null) {
                String ano;
                Organizacao organizacaoGestora = (Organizacao) session.get(Organizacao.class, curso.getMatricula().getTurma().getOrganizacaoGestoraId());
                ano = dfExec.format(curso.getMatricula().getTurma().getExercicio());
                message += "=> " + curso.getMatricula().getTurma().getCurso().getCodigo() + " - " + curso.getMatricula().getTurma().getNumeroTurma() + " / " + ano + " (" + organizacaoGestora.getSigla() + ") - Período de " + df.format(curso.getMatricula().getTurma().getDataInicio()) + " a " + df.format(curso.getMatricula().getTurma().getDataTermino()) + "<br>";
            } else {
                // curso concluído sem vínculo com tumas do SGC
                message += "=> " + curso.getAno() + " (" + curso.getLocal() + ") - Período de " + df.format(curso.getPeriodo().getDataInicio()) + " a " + df.format(curso.getPeriodo().getDataTermino()) + "<br>";
            }
        }
        erroMessage += "O Candidato já concluiu com aproveitamento esta capacitação em:<br>" + message + "<br>";
        erro = true;
    // throw new DAOException("Capacitação já realizada por este indicado");
    }
    // não permitir e avisar ao usuário - COMGAP PODE
    if (turma.getDataInicio() != null && turma.getDataTermino() != null) {
        Date dataInicioIndic = null;
        Date dataTerminoIndic = null;
        try {
            dataInicioIndic = df.parse(df.format(turma.getDataInicio()));
            dataTerminoIndic = df.parse(df.format(turma.getDataTermino()));
        } catch (ParseException ex) {
            Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        // verificar se tem matricula em curso
        @SuppressWarnings("unchecked") List<Matricula> matriculas = session.createQuery("" + "from MatriculaAluno m " + "where m.pessoa.id = :pessoaId").setLong("pessoaId", indicacao.getPessoa().getId()).list();
        if (matriculas.size() > 0) {
            // foi matriculado antes
            // verificar se alguma dessa é no mesmo período da indicação
            // descobrir a menor data inicio e a maior data de termino
            boolean mesmaData = false;
            boolean erroMesmaData = false;
            message = "";
            // vasculhar as matriculas
            for (Matricula matricula : matriculas) {
                // verificar se é válida
                if (!matricula.isCancelada()) {
                    if (matricula.getTurma().getDataInicio() != null && matricula.getTurma().getDataTermino() != null) {
                        Date dataInicioMatricula = null;
                        Date dataTerminoMatricula = null;
                        try {
                            dataInicioMatricula = df.parse(df.format(matricula.getTurma().getDataInicio()));
                            dataTerminoMatricula = df.parse(df.format(matricula.getTurma().getDataTermino()));
                        } catch (ParseException ex) {
                            Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        // verificar se o período da indicação coincide
                        if ((dataInicioIndic.equals(dataInicioMatricula)) || (dataInicioIndic.equals(dataTerminoMatricula)) || (dataTerminoIndic.equals(dataInicioMatricula)) || (dataTerminoIndic.equals(dataTerminoMatricula))) {
                            mesmaData = true;
                        // verificar se o curso em que está mariculado está dentro do curso indicado
                        } else if ((dataInicioIndic.before(dataInicioMatricula) && dataTerminoIndic.after(dataTerminoMatricula))) {
                            // dentro do periodo de indicação
                            mesmaData = true;
                        // verificar se o INICIO do curso em que está matriculado está dentro do curso indicado
                        } else if ((dataInicioIndic.before(dataInicioMatricula) && dataTerminoIndic.after(dataInicioMatricula))) {
                            // inicio do matriculado dentro do indicado
                            mesmaData = true;
                        // verificar se o TEMINO do curso em que está matriculado está dentro do curso indicado
                        } else if ((dataInicioIndic.before(dataTerminoMatricula) && dataTerminoIndic.after(dataTerminoMatricula))) {
                            // termino do matriculado dentro do indicado
                            mesmaData = true;
                        // verificar se o curso em que está indicado está dentro do curso matriculado
                        } else if ((dataInicioIndic.after(dataInicioMatricula) && dataTerminoIndic.before(dataTerminoMatricula))) {
                            // mariculado dentro do periodo do curso a ser indicado
                            mesmaData = true;
                        }
                        if (mesmaData == true) {
                            String ano;
                            ano = dfExec.format(matricula.getTurma().getExercicio());
                            Organizacao organizacaoGestora = (Organizacao) session.get(Organizacao.class, matricula.getTurma().getOrganizacaoGestoraId());
                            // teste: se já matriculado em curso nesta mesma data
                            erroMesmaData = true;
                            // não permitir e avisar ao usuário
                            message += "=> " + matricula.getTurma().getCurso().getCodigo() + " - " + matricula.getTurma().getNumeroTurma() + " / " + ano + " (" + organizacaoGestora.getSigla() + ") - Período de " + df.format(matricula.getTurma().getDataInicio()) + " a " + df.format(matricula.getTurma().getDataTermino()) + "<br>";
                        }
                    }
                    mesmaData = false;
                }
            }
            // loop varendo todas matriculas
            if (erroMesmaData) {
                erroMessage += "O candidato já está matriculado no(s) seguinte(s) curso(s) no mesmo período:<br>" + message + "<br>";
                erro = true;
            // throw new DAOException("O candidato já está matriculado no(s) seguinte(s) curso(s) no mesmo período: " + message + "<br>");
            }
        }
    }
    // teste: se já indicado para esta turma do curso
    // não permitir e avisar ao usuário
    Long countIndicacao = null;
    // VERIFICAR QUEM CHAMOU O MÉTODO
    if (chamada.equals("CREATE")) {
        countIndicacao = (Long) session.createQuery("" + "select count(*) from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.id = :turmaId").setLong("pessoaId", indicacao.getPessoa().getId()).setLong("turmaId", turma.getId()).uniqueResult();
    } else if (chamada.equals("UPDATE")) {
        countIndicacao = (Long) session.createQuery("" + "select count(*) from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.id = :turmaId " + "and i.id <> :indicacaoId").setLong("indicacaoId", indicacao.getId()).setLong("pessoaId", indicacao.getPessoa().getId()).setLong("turmaId", turma.getId()).uniqueResult();
    }
    if (countIndicacao > 0) {
        erroMessage += "O candidato já está indicado para esta Turma<br>";
        erro = true;
    // throw new DAOException("Indicação já existente");
    }
    // }
    // teste: se concluiu SEM aproveitamento algum curso no ano vigente
    // não permitir e avisar ao usuário - COMGAP PODE
    // verificar matricula VÁLIDA com conclusão SEM APROVEITAMENTO
    Long countMatricula = (Long) session.createQuery("" + "select count(*) from MatriculaAluno m " + "where m.pessoaId = :pessoaId " + "and m.turma.exercicio=:exercicio").setLong("pessoaId", indicacao.getPessoa().getId()).setDate("exercicio", exercicio).uniqueResult();
    if (countMatricula > 0) {
        // teve matriculas no ano
        // verificar se o curso matriculado já terminou e se não concluiu
        @SuppressWarnings("unchecked") List<Matricula> matriculas = session.createQuery("" + "from MatriculaAluno m " + "where m.pessoa.id = :pessoaId " + "and m.turma.exercicio=:exercicio").setLong("pessoaId", indicacao.getPessoa().getId()).setDate("exercicio", exercicio).list();
        message = "";
        boolean erroNaoConcluiuComAproveitamento = false;
        // vasculhar as matriculas
        for (Matricula matricula : matriculas) {
            // verificar se matricula válida
            if (!matricula.isCancelada()) {
                // verificar se curso terminou
                if (matricula.getTurma().getDataTermino().before(new Date())) {
                    @SuppressWarnings("unchecked") List<Conclusao> conclusoesSemAproveitamento = session.createQuery("" + "from Conclusao conclusao " + "where conclusao.matricula.id=:matriculaId" + "and conclusao.comAproveitamento=false").setLong("matriculaId", matricula.getId()).list();
                    if (conclusoesSemAproveitamento.size() > 0) {
                        // vasculhar para verificar se não estão justificadas
                        for (Conclusao conclusao : conclusoesSemAproveitamento) {
                            if (!conclusao.isJustificado()) {
                                // não justificada
                                erroNaoConcluiuComAproveitamento = true;
                                String ano;
                                Organizacao organizacaoGestora = (Organizacao) session.get(Organizacao.class, matricula.getTurma().getOrganizacaoGestoraId());
                                ano = dfExec.format(matricula.getTurma().getExercicio());
                                // teste: concluiu sem aproveitamnto algum curso no ano vigente
                                message += "=> " + matricula.getTurma().getCurso().getCodigo() + " - " + matricula.getTurma().getNumeroTurma() + " / " + ano + " (" + organizacaoGestora.getSigla() + ") - Período de " + df.format(matricula.getTurma().getDataInicio()) + " a " + df.format(matricula.getTurma().getDataTermino()) + "<br>";
                            }
                        }
                    }
                }
            }
        }
        if (erroNaoConcluiuComAproveitamento) {
            erroMessage += "O candidato concluíu sem aproveitamento o(s) seguinte(s) cuso(s) no ano vigentem:<br>" + message + "<br>As conclusões sem aproveitamento, quando não justificadas, impossilitam a idicação no ano vigente<br>";
            erro = true;
        // throw new DAOException("O candidato não concluíu o(s) seguinte(s) cuso(s) " + message +  "no ano vigentem o impossibilitando de ser indicado.");
        }
    }
    // teste final de erro
    if (erro) {
        throw new DAOException(erroMessage);
    }
}
Also used : TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) Conclusao(com.tomasio.projects.trainning.model.Conclusao) Matricula(com.tomasio.projects.trainning.model.Matricula) Date(java.util.Date) DAOException(com.tomasio.projects.trainning.exception.DAOException) Organizacao(com.tomasio.projects.trainning.model.Organizacao) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat) Session(org.hibernate.Session)

Example 8 with Conclusao

use of com.tomasio.projects.trainning.model.Conclusao in project trainning by fernandotomasio.

the class HibernateCertificadoConclusaoDAO method findAllCertificadosConclusaoByTurma.

@Override
public List<CertificadoConclusao> findAllCertificadosConclusaoByTurma(Long turmaId) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    try {
        // buscar todas as conclusoes da turma
        @SuppressWarnings("unchecked") List<Conclusao> conclusoes = session.createQuery("from Conclusao conclusao " + "where conclusao.matricula.turma.id=:turmaId " + "and conclusao.comAproveitamento=:aproveitamento").setLong("turmaId", turmaId).setBoolean("aproveitamento", true).list();
        List<CertificadoConclusao> certificados = new ArrayList<CertificadoConclusao>();
        // loop nas conclusoes pegando as que possuem certificado
        for (Conclusao conclusao : conclusoes) {
            @SuppressWarnings("unchecked") List<CertificadoConclusao> certificadosConclusao = session.createQuery("" + "from CertificadoConclusao c " + "where c.conclusao.id=:conclusaoId ").setLong("conclusaoId", conclusao.getId()).list();
            for (CertificadoConclusao certificado : certificadosConclusao) {
                certificados.add(certificado);
            }
        }
        return certificados;
    } catch (HibernateException ex) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
        throw new DAOException(MessageHelper.getMessage("certificadoConclusao.list.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) CertificadoConclusao(com.tomasio.projects.trainning.model.CertificadoConclusao) HibernateException(org.hibernate.HibernateException) Conclusao(com.tomasio.projects.trainning.model.Conclusao) CertificadoConclusao(com.tomasio.projects.trainning.model.CertificadoConclusao) ArrayList(java.util.ArrayList) Session(org.hibernate.Session)

Example 9 with Conclusao

use of com.tomasio.projects.trainning.model.Conclusao in project trainning by fernandotomasio.

the class HibernateCertificadoConclusaoDAO method findAllCertificadosConclusaoByPessoa.

@Override
public List<CertificadoConclusao> findAllCertificadosConclusaoByPessoa(Long pessoaId) throws DAOException {
    Session session = sessionFactory.getCurrentSession();
    try {
        // buscar todas as conclusões de uma pessoa
        @SuppressWarnings("unchecked") List<Conclusao> conclusoes = session.createQuery("" + "from Conclusao c " + "where c.pessoa.id=:pessoaId ").setLong("pessoaId", pessoaId).list();
        List<CertificadoConclusao> certificados = new ArrayList<CertificadoConclusao>();
        // loop nas conclusoes pegando as que possuem certificado
        for (Conclusao conclusao : conclusoes) {
            @SuppressWarnings("unchecked") List<CertificadoConclusao> certificadosConclusao = session.createQuery("" + "from CertificadoConclusao c " + "where c.conclusao.id=:conclusaoId ").setLong("conclusaoId", conclusao.getId()).list();
            for (CertificadoConclusao certificado : certificadosConclusao) {
                certificados.add(certificado);
            }
        }
        return certificados;
    } catch (HibernateException ex) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
        throw new DAOException(MessageHelper.getMessage("certificadoConclusao.list.error"));
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) CertificadoConclusao(com.tomasio.projects.trainning.model.CertificadoConclusao) HibernateException(org.hibernate.HibernateException) Conclusao(com.tomasio.projects.trainning.model.Conclusao) CertificadoConclusao(com.tomasio.projects.trainning.model.CertificadoConclusao) ArrayList(java.util.ArrayList) Session(org.hibernate.Session)

Example 10 with Conclusao

use of com.tomasio.projects.trainning.model.Conclusao in project trainning by fernandotomasio.

the class ImportConclusoesImpl method execute.

@Override
public void execute() {
    try {
        CursoDAO cursoDAO = null;
        PessoaDAO pessoaDAO = new HibernatePessoaDAO();
        ConclusaoDAO conclusaoDAO = new HibernateConclusaoDAO();
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/dctp?user=root&password=roland");
        Statement stm = conn.createStatement();
        ResultSet rs = stm.executeQuery("SELECT * FROM pefcr");
        int i = 0;
        while (rs.next()) {
            // System.out.println(++i);
            String codigo = rs.getString("codcurso");
            String local = rs.getString("local");
            String cpf = rs.getString("cpf");
            String grau = rs.getString("grau");
            Date inicio = rs.getDate("dtInicio");
            Date termino = rs.getDate("dtTerm");
            Conclusao conclusao = new Conclusao();
            if (grau != null) {
                grau.trim();
                grau = grau.replace(",", ".");
                if (!grau.equals("")) {
                    try {
                        conclusao.setGrau(Float.parseFloat(grau));
                    } catch (NumberFormatException e) {
                    }
                }
            }
            if (local == null) {
                local = "";
            }
            Curso curso = cursoDAO.findByCodigo(codigo);
            if (curso == null) {
                continue;
            }
            Pessoa pessoa = ImportHelper.findPessoa(cpf, conn);
            if (pessoa == null) {
                System.out.println("PESSOA NÃO ENCONTRADA: " + cpf + " - " + codigo + "," + inicio + ", " + termino + ", " + local);
                continue;
            }
            SimpleDateFormat df = new SimpleDateFormat("yyyy");
            String anoString = null;
            if (inicio != null) {
                anoString = df.format(inicio);
            }
            if (anoString != null) {
                conclusao.setAno(Integer.parseInt(anoString));
            }
            conclusao.setCapacitacao(curso);
            conclusao.setLocal(local);
            if (inicio != null && termino != null) {
                Periodo periodo = new Periodo();
                periodo.setDataInicio(inicio);
                periodo.setDataTermino(termino);
                conclusao.setPeriodo(periodo);
            }
            conclusao.setPessoa(pessoa);
            conclusaoDAO.create(conclusao);
        }
        conn.close();
    } catch (SQLException ex) {
        Logger.getLogger(ImportConclusoesImpl.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DAOException ex) {
        Logger.getLogger(ImportConclusoesImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : Conclusao(com.tomasio.projects.trainning.model.Conclusao) HibernatePessoaDAO(com.tomasio.projects.trainning.dao.HibernatePessoaDAO) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) HibernateConclusaoDAO(com.tomasio.projects.trainning.dao.HibernateConclusaoDAO) Periodo(com.tomasio.projects.trainning.model.Periodo) HibernateCursoDAO(com.tomasio.projects.trainning.dao.HibernateCursoDAO) CursoDAO(com.tomasio.projects.trainning.dao.CursoDAO) Pessoa(com.tomasio.projects.trainning.model.Pessoa) DAOException(com.tomasio.projects.trainning.exception.DAOException) HibernateConclusaoDAO(com.tomasio.projects.trainning.dao.HibernateConclusaoDAO) ConclusaoDAO(com.tomasio.projects.trainning.dao.ConclusaoDAO) HibernatePessoaDAO(com.tomasio.projects.trainning.dao.HibernatePessoaDAO) Curso(com.tomasio.projects.trainning.model.Curso) SimpleDateFormat(java.text.SimpleDateFormat)

Aggregations

DAOException (com.tomasio.projects.trainning.exception.DAOException)17 Conclusao (com.tomasio.projects.trainning.model.Conclusao)17 CertificadoConclusao (com.tomasio.projects.trainning.model.CertificadoConclusao)12 ConclusaoDAO (com.tomasio.projects.trainning.dao.ConclusaoDAO)10 CertificadoConclusaoDAO (com.tomasio.projects.trainning.dao.CertificadoConclusaoDAO)9 CoreException (com.tomasio.projects.trainning.exeption.CoreException)9 Transactional (org.springframework.transaction.annotation.Transactional)9 CertificadoConclusaoDTO (com.tomasio.projects.trainning.dto.CertificadoConclusaoDTO)7 ConclusaoDTO (com.tomasio.projects.trainning.dto.ConclusaoDTO)7 Session (org.hibernate.Session)7 HibernateException (org.hibernate.HibernateException)6 ArrayList (java.util.ArrayList)4 ParseException (java.text.ParseException)3 SimpleDateFormat (java.text.SimpleDateFormat)3 Criteria (org.hibernate.Criteria)2 CursoDAO (com.tomasio.projects.trainning.dao.CursoDAO)1 HibernateConclusaoDAO (com.tomasio.projects.trainning.dao.HibernateConclusaoDAO)1 HibernateCursoDAO (com.tomasio.projects.trainning.dao.HibernateCursoDAO)1 HibernatePessoaDAO (com.tomasio.projects.trainning.dao.HibernatePessoaDAO)1 PessoaDAO (com.tomasio.projects.trainning.dao.PessoaDAO)1