Subversion Repositories Integrator Subversion

Rev

Rev 698 | 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
 
528 blopes 3
import java.util.Date;
265 espaco 4
import java.util.List;
5
 
6
import org.springframework.stereotype.Repository;
7
 
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
648 blopes 27
        public VigenciaDTO consultarVigencia(Long sequencial) {
28
                StringBuilder jpql = new StringBuilder();
29
                jpql.append("SELECT ");
30
                jpql.append(VigenciaDTO.CONSULTA_DTO_CONSOLIDACAO);
31
                jpql.append("FROM Vigencia e ");
32
                jpql.append("WHERE e.sequencial = :sequencialVigencia ");
33
                try {
34
                        return getEntityManager().createQuery(jpql.toString(), VigenciaDTO.class).setParameter("sequencialVigencia", sequencial).getSingleResult();
35
                } catch(Exception ex) {
36
                        ex.printStackTrace();
37
                        return null;
38
                }
39
        }
40
 
41
        @Override
265 espaco 42
        public List<VigenciaDTO> consultarVigencias() {
43
                StringBuilder jpql = new StringBuilder();
648 blopes 44
                jpql.append("SELECT ");
45
                jpql.append(VigenciaDTO.CONSULTA_DTO_COMPLETA);
46
                jpql.append("FROM Vigencia e ");
47
                jpql.append("ORDER BY e.dataInicio DESC");
265 espaco 48
                try {
49
                        return getEntityManager().createQuery(jpql.toString(), VigenciaDTO.class).getResultList();
50
                } catch(Exception ex) {
51
                        ex.printStackTrace();
52
                        return null;
53
                }
54
        }
55
 
439 espaco 56
        @Override
57
        public Vigencia consultarProximaVigencia(Long sequencialVigencia) {
58
                StringBuilder sql = new StringBuilder();
59
                sql.append("SELECT v FROM Vigencia v WHERE v.sequencial = :sequencialVigencia ");
60
                try {
61
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setParameter("sequencialVigencia", sequencialVigencia + 1).getSingleResult();
62
                } catch(Exception ex) {
63
                        ex.printStackTrace();
64
                        return null;
65
                }
66
        }
67
 
523 blopes 68
        @Override
69
        public List<VigenciaDTO> consultarVigenciasParaConsolidacao() {
70
                StringBuilder jpql = new StringBuilder();
71
                jpql.append("SELECT ");
72
                jpql.append(VigenciaDTO.CONSULTA_DTO_CONSOLIDACAO);
73
                jpql.append("FROM Vigencia e ");
74
                jpql.append("ORDER BY e.dataInicio DESC");
75
                try {
76
                        return getEntityManager().createQuery(jpql.toString(), VigenciaDTO.class).getResultList();
77
                } catch(Exception ex) {
78
                        ex.printStackTrace();
79
                        return null;
80
                }
81
        }
82
 
265 espaco 83
        @Override
528 blopes 84
        public Vigencia consultarVigenciaDoPeriodo(Date periodo) {
265 espaco 85
                StringBuilder sql = new StringBuilder();
528 blopes 86
                sql.append("SELECT e FROM Vigencia e WHERE e.dataInicio <= :periodo AND e.dataFim >= :periodo ");
265 espaco 87
                try {
528 blopes 88
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setParameter("periodo", periodo).getSingleResult();
265 espaco 89
                } catch(Exception ex) {
90
                        ex.printStackTrace();
91
                        return null;
92
                }
93
        }
94
 
698 blopes 95
        @Override
96
        public void alterarSituacaoFolha(Long sequencialVigencia, String situacao) {
97
                StringBuilder sql = new StringBuilder();
98
                sql.append("UPDATE Vigencia vigencia SET vigencia.tipoSituacaoFolha = :situacao ");
99
                sql.append("WHERE vigencia.sequencial = :sequencialVigencia ");
100
                try {
101
                        getEntityManager().createQuery(sql.toString())
102
                                .setParameter("sequencialVigencia", sequencialVigencia)
103
                                .setParameter("situacao", situacao)
104
                                .executeUpdate();
105
                        getEntityManager().flush();
106
                } catch(Exception ex) {
107
                        ex.printStackTrace();
108
                }
109
        }
110
 
715 blopes 111
        @Override
112
        public void alterarSituacaoConciliacao(Long sequencialVigencia, String situacao) {
113
                StringBuilder sql = new StringBuilder();
114
                sql.append("UPDATE Vigencia vigencia SET vigencia.tipoSituacaoConciliacaoBancaria = :situacao ");
115
                sql.append("WHERE vigencia.sequencial = :sequencialVigencia ");
116
                try {
117
                        getEntityManager().createQuery(sql.toString())
118
                                .setParameter("sequencialVigencia", sequencialVigencia)
119
                                .setParameter("situacao", situacao)
120
                                .executeUpdate();
121
                        getEntityManager().flush();
122
                } catch(Exception ex) {
123
                        ex.printStackTrace();
124
                }
125
        }
126
 
528 blopes 127
        /*
265 espaco 128
        @Override
528 blopes 129
        public List<Vigencia> consultarVigenciasSemAvaliacoes() {
265 espaco 130
                StringBuilder sql = new StringBuilder();
528 blopes 131
                sql.append("SELECT e FROM Vigencia e WHERE (SELECT COUNT(*) FROM Avaliacao a WHERE a.vigencia.sequencial = e.sequencial) = 0 ");
265 espaco 132
                sql.append("ORDER BY e.dataInicio DESC");
133
                try {
528 blopes 134
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).getResultList();
265 espaco 135
                } catch(Exception ex) {
136
                        ex.printStackTrace();
137
                        return null;
138
                }
139
        }
140
 
141
        @Override
528 blopes 142
        public List<Vigencia> consultarUltimasVigencias() {
265 espaco 143
                StringBuilder sql = new StringBuilder();
528 blopes 144
                sql.append("SELECT e FROM Vigencia e ");
145
                sql.append("ORDER BY e.dataInicio DESC");
265 espaco 146
                try {
528 blopes 147
                        return getEntityManager().createQuery(sql.toString(), Vigencia.class).setMaxResults(5).getResultList();
265 espaco 148
                } catch(Exception ex) {
149
                        ex.printStackTrace();
150
                        return null;
151
                }
152
        }
153
 
154
        @Override
155
        public List<Vigencia> consultarVigenciasDoAno(String ano) {
156
                StringBuilder sql = new StringBuilder();
157
                sql.append("SELECT e FROM Vigencia e ");
158
                sql.append("WHERE :dataInicial <= e.dataInicio AND :dataFinal >= e.dataFim ");
159
                sql.append("ORDER BY e.dataInicio");
160
                try {
161
                        Date dataInicial = DataUtils.getPrimeiroDiaDoAno(new Integer(ano));
162
                        Date dataFinal = DataUtils.getUltimoDiaDoAno(new Integer(ano));
163
                        TypedQuery<Vigencia> query = (TypedQuery<Vigencia>) getEntityManager().createQuery(sql.toString(), Vigencia.class);
164
                        query.setParameter("dataInicial", dataInicial);
165
                        query.setParameter("dataFinal", dataFinal);
166
                        return query.getResultList();
167
                } catch(Exception ex) {
168
                        ex.printStackTrace();
169
                        return null;
170
                }
171
        }
172
        */
173
}