Subversion Repositories Integrator Subversion

Rev

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