Subversion Repositories Integrator Subversion

Rev

Rev 265 | Rev 523 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
265 espaco 1
package br.com.ec.repository.jpa;
2
 
3
import java.util.List;
4
 
5
import org.springframework.stereotype.Repository;
6
 
7
import br.com.ec.domain.dto.VigenciaDTO;
8
import br.com.ec.domain.model.Vigencia;
9
import br.com.ec.repository.SistemaAbstractRepository;
10
import br.com.ec.repository.VigenciaRepository;
11
 
12
@Repository
13
public class VigenciaRepositoryJpaImpl extends SistemaAbstractRepository<Vigencia> implements VigenciaRepository {
14
 
15
        @Override
16
        protected String getColunaOrdenadora() {
17
                return "sequencial DESC";
18
        }
19
 
20
        @Override
21
        protected boolean adicionarDistinct() {
22
                return false;
23
        }
24
 
25
        @Override
26
        public List<VigenciaDTO> consultarVigencias() {
27
                StringBuilder jpql = new StringBuilder();
28
                jpql.append("SELECT new br.com.ec.domain.dto.VigenciaDTO(v.sequencial, v.descricao, v.dataInicio, v.dataFim) ");
29
                jpql.append("FROM Vigencia v ");
30
                jpql.append("ORDER BY v.dataInicio DESC");
31
                try {
32
                        return getEntityManager().createQuery(jpql.toString(), VigenciaDTO.class).getResultList();
33
                } catch(Exception ex) {
34
                        ex.printStackTrace();
35
                        return null;
36
                }
37
        }
38
 
439 espaco 39
        @Override
40
        public Vigencia consultarProximaVigencia(Long sequencialVigencia) {
41
                StringBuilder sql = new StringBuilder();
42
                sql.append("SELECT v FROM Vigencia v WHERE v.sequencial = :sequencialVigencia ");
43
                try {
44
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setParameter("sequencialVigencia", sequencialVigencia + 1).getSingleResult();
45
                } catch(Exception ex) {
46
                        ex.printStackTrace();
47
                        return null;
48
                }
49
        }
50
 
265 espaco 51
        /*
52
        @Override
53
        public List<Vigencia> consultarVigenciasSemAvaliacoes() {
54
                StringBuilder sql = new StringBuilder();
55
                sql.append("SELECT e FROM Vigencia e WHERE (SELECT COUNT(*) FROM Avaliacao a WHERE a.vigencia.sequencial = e.sequencial) = 0 ");
56
                sql.append("ORDER BY e.dataInicio DESC");
57
                try {
58
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).getResultList();
59
                } catch(Exception ex) {
60
                        ex.printStackTrace();
61
                        return null;
62
                }
63
        }
64
 
65
        @Override
66
        public List<Vigencia> consultarUltimasVigencias() {
67
                StringBuilder sql = new StringBuilder();
68
                sql.append("SELECT e FROM Vigencia e ");
69
                sql.append("ORDER BY e.dataInicio DESC");
70
                try {
71
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setMaxResults(5).getResultList();
72
                } catch(Exception ex) {
73
                        ex.printStackTrace();
74
                        return null;
75
                }
76
        }
77
 
78
        @Override
79
        public Vigencia consultarVigenciaDoPeriodo(Date periodo) {
80
                StringBuilder sql = new StringBuilder();
81
                sql.append("SELECT e FROM Vigencia e WHERE e.dataInicio <= :periodo AND e.dataFim >= :periodo ");
82
                try {
83
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setParameter("periodo", periodo).getSingleResult();
84
                } catch(Exception ex) {
85
                        ex.printStackTrace();
86
                        return null;
87
                }
88
        }
89
 
90
        @Override
91
        public List<Vigencia> consultarVigenciasDoAno(String ano) {
92
                StringBuilder sql = new StringBuilder();
93
                sql.append("SELECT e FROM Vigencia e ");
94
                sql.append("WHERE :dataInicial <= e.dataInicio AND :dataFinal >= e.dataFim ");
95
                sql.append("ORDER BY e.dataInicio");
96
                try {
97
                        Date dataInicial = DataUtils.getPrimeiroDiaDoAno(new Integer(ano));
98
                        Date dataFinal = DataUtils.getUltimoDiaDoAno(new Integer(ano));
99
                        TypedQuery<Vigencia> query = (TypedQuery<Vigencia>) getEntityManager().createQuery(sql.toString(), Vigencia.class);
100
                        query.setParameter("dataInicial", dataInicial);
101
                        query.setParameter("dataFinal", dataFinal);
102
                        return query.getResultList();
103
                } catch(Exception ex) {
104
                        ex.printStackTrace();
105
                        return null;
106
                }
107
        }
108
        */
109
}