Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
259 espaco 1
package br.com.ec.repository.jpa;
2
 
282 espaco 3
import java.util.Date;
4
import java.util.List;
5
 
6
import javax.persistence.TypedQuery;
7
 
259 espaco 8
import org.springframework.stereotype.Repository;
9
 
282 espaco 10
import br.com.ec.core.util.StringUtil;
11
import br.com.ec.core.util.VerificadorUtil;
12
import br.com.ec.domain.dto.ParcelaDTO;
13
import br.com.ec.domain.dto.consulta.ParametrosConsultaParcelasDTO;
259 espaco 14
import br.com.ec.domain.model.Parcela;
282 espaco 15
import br.com.ec.domain.model.tipos.TipoCartao;
259 espaco 16
import br.com.ec.repository.ParcelaRepository;
17
import br.com.ec.repository.SistemaAbstractRepository;
18
 
19
@Repository
20
public class ParcelaRepositoryJpaImpl extends SistemaAbstractRepository<Parcela> implements ParcelaRepository {
21
 
22
        @Override
23
        protected String getColunaOrdenadora() {
24
                return "sequencial";
25
        }
282 espaco 26
 
27
        @Override
28
        public List<ParcelaDTO> consultarParcelas(ParametrosConsultaParcelasDTO parametrosConsultaParcelasDTO) {
29
                StringBuilder sql = new StringBuilder();
30
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
31
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
32
                sql.append("WHERE 1=1 ");
33
                if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getTipoBusca())) {
34
                        sql.append("AND p.conta.tipoConta = :tipoConta ");
35
                }
36
 
37
                if (parametrosConsultaParcelasDTO.getPagamentoRealizado()) {
38
                        if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataInicial()) &&
39
                                        VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataFinal())) {
40
                                sql.append("AND p.dataPagamento is not null ");
41
                                sql.append("AND p.dataPagamento >= :dataInicial AND p.dataPagamento <= :dataFinal ");
42
                        }
43
                }
44
                sql.append("ORDER BY p.dataVencimento ");
45
                try {
46
                        TypedQuery<ParcelaDTO> query = getEntityManager().createQuery(sql.toString(), ParcelaDTO.class);
47
                        if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getTipoBusca())) {
48
                                query.setParameter("tipoConta", parametrosConsultaParcelasDTO.getTipoBusca());
49
                        }
50
                        if (parametrosConsultaParcelasDTO.getPagamentoRealizado()) {
51
                                if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataInicial()) &&
52
                                                VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataFinal())) {
53
                                        query.setParameter("dataInicial", parametrosConsultaParcelasDTO.getDataInicial());
54
                                        query.setParameter("dataFinal", parametrosConsultaParcelasDTO.getDataFinal());
55
                                }
56
                        }
57
                        return query.getResultList();
58
                } catch(Exception ex) {
59
                        ex.printStackTrace();
60
                        return null;
61
                }
62
        }
63
 
64
        @Override
65
        public List<ParcelaDTO> consultarParcelasAReceber(Long sequencialContaBancaria, Date dataRecebimento, TipoCartao tipoCartao) {
66
                StringBuilder sql = new StringBuilder();
67
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
68
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
69
                sql.append("WHERE p.contaBancaria.sequencial = :sequencialContaBancaria ");
70
                sql.append("AND p.dataVencimento = :dataVencimento ");
71
                sql.append("AND p.observacao like UPPER(:observacao) ");
72
                sql.append("AND p.dataPagamento is null ");
73
                sql.append("ORDER BY p.dataVencimento ");
74
                try {
75
                        return getEntityManager().createQuery(sql.toString(), ParcelaDTO.class)
76
                                        .setParameter("sequencialContaBancaria", sequencialContaBancaria)
77
                                        .setParameter("dataVencimento", dataRecebimento)
78
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
79
                                        .getResultList();
80
                } catch(Exception ex) {
81
                        ex.printStackTrace();
82
                        return null;
83
                }
84
        }
85
 
86
        @Override
87
        public List<ParcelaDTO> consultarParcelasRecebidas(Long sequencialContaBancaria, Date dataRecebimento, TipoCartao tipoCartao) {
88
                StringBuilder sql = new StringBuilder();
89
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
90
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
91
                sql.append("WHERE p.contaBancaria.sequencial = :sequencialContaBancaria ");
92
                sql.append("AND p.dataVencimento = :dataVencimento ");
93
                sql.append("AND p.observacao like UPPER(:observacao) ");
94
                sql.append("AND p.dataPagamento is not null ");
95
                sql.append("ORDER BY p.dataVencimento ");
96
                try {
97
                        return getEntityManager().createQuery(sql.toString(), ParcelaDTO.class)
98
                                        .setParameter("sequencialContaBancaria", sequencialContaBancaria)
99
                                        .setParameter("dataVencimento", dataRecebimento)
100
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
101
                                        .getResultList();
102
                } catch(Exception ex) {
103
                        ex.printStackTrace();
104
                        return null;
105
                }
106
        }
107
 
259 espaco 108
        /*
109
        @Override
110
        public List<Parcela> consultarParcelas(ParametrosConsultaLancamentosDTO parametrosConsulta) {
111
                StringBuilder sql = new StringBuilder();
112
                sql.append("SELECT p FROM Parcela p ");
113
                sql.append("WHERE ((p.dataPagamento IS NOT NULL AND p.dataPagamento >= :dataInicial AND p.dataPagamento <= :dataFinal) ");
114
                sql.append("OR (p.dataPagamento IS NULL AND p.dataVencimento <= :dataFinal)) ");
115
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getTipoBusca())) {
116
                        sql.append("AND p.conta.tipoConta = :tipoConta ");
117
                }
118
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCentroDeCustos())) {
119
                        if (parametrosConsulta.getCentroDeCustos().getSequencial().equals(new Long(-1))) {
120
                                sql.append("AND p.conta.loja IS NULL ");
121
                        } else {
122
                                sql.append("AND p.conta.loja.sequencial = :sequencialCentroDeCustos ");
123
                        }
124
                }
125
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoria())) {
126
                        if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoria().getSequencial())) {
127
                                sql.append("AND p.conta.categoria.sequencial = :sequencialCategoria ");
128
                        } else {
129
                                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoriaPai().getSequencial())) {
130
                                        sql.append("AND p.conta.categoria.sequencial = :sequencialCategoriaPai ");
131
                                } else {
132
                                        sql.append("AND p.conta.categoria IS NULL ");
133
                                }
134
                        }
135
                }
136
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getOficial())) {
137
                        if (parametrosConsulta.getOficial()) {
138
                                sql.append("AND p.indicadorOficial IS TRUE ");
139
                        } else {
140
                                sql.append("AND p.indicadorOficial IS FALSE ");
141
                        }
142
                }
143
                sql.append("ORDER BY p.dataVencimento ");
144
                try {
145
                        TypedQuery<Parcela> query = getEntityManager().createQuery(sql.toString(), Parcela.class)
146
                                .setParameter("dataInicial", parametrosConsulta.getDataInicial())
147
                                .setParameter("dataFinal", parametrosConsulta.getDataFinal());
148
                        if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getTipoBusca())) {
149
                                query.setParameter("tipoConta", parametrosConsulta.getTipoBusca());
150
                        }
151
                        if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCentroDeCustos())) {
152
                                if (!parametrosConsulta.getCentroDeCustos().getSequencial().equals(new Long(-1))) {
153
                                        query.setParameter("sequencialCentroDeCustos", parametrosConsulta.getCentroDeCustos().getSequencial());
154
                                }
155
                        }
156
                        if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoria())) {
157
                                if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoria().getSequencial())) {
158
                                        query.setParameter("sequencialCategoria", parametrosConsulta.getCategoria().getSequencial());
159
                                } else {
160
                                        if (VerificadorUtil.naoEstaNulo(parametrosConsulta.getCategoriaPai().getSequencial())) {
161
                                                query.setParameter("sequencialCategoriaPai", parametrosConsulta.getCategoriaPai().getSequencial());
162
                                        }
163
                                }
164
                        }
165
                        return query.getResultList();
166
                } catch(Exception ex) {
167
                        ex.printStackTrace();
168
                        return null;
169
                }
170
        }
171
 
172
        @Override
173
        public List<Parcela> consultarParcelasAVencer(Conta conta) {
174
                StringBuilder sql = new StringBuilder();
175
                sql.append("SELECT p FROM Parcela p ");
176
                sql.append("WHERE p.conta.sequencial = :sequencialConta ");
177
                sql.append("AND p.dataPagamento is null ");
178
                sql.append("ORDER BY p.sequencial ");
179
                try {
180
                        return getEntityManager().createQuery(sql.toString(), Parcela.class)
181
                                        .setParameter("sequencialConta", conta.getSequencial())
182
                                        .getResultList();
183
                } catch(Exception ex) {
184
                        ex.printStackTrace();
185
                        return null;
186
                }
187
        }
188
 
189
        @Override
190
        public List<Parcela> consultarParcelasRecebidas(Date dataRecebimento, TipoCartao tipoCartao) {
191
                StringBuilder sql = new StringBuilder();
192
                sql.append("SELECT p FROM Parcela p ");
193
                sql.append("WHERE p.dataVencimento = :dataVencimento ");
194
                sql.append("AND p.observacao like UPPER(:observacao) ");
195
                sql.append("AND p.dataPagamento is not null ");
196
                sql.append("ORDER BY p.dataVencimento ");
197
                try {
198
                        return getEntityManager().createQuery(sql.toString(), Parcela.class)
199
                                        .setParameter("dataVencimento", dataRecebimento)
200
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
201
                                        .getResultList();
202
                } catch(Exception ex) {
203
                        ex.printStackTrace();
204
                        return null;
205
                }
206
        }
207
 
208
        @Override
209
        public List<Parcela> consultarPassandoParametrosConsulta(ParametrosConsulta<Parcela> parametrosConsulta,
210
                        Integer primeiroRegistro, Integer tamanhoPagina, String sortField, String sortOrder,
211
                        Map<String, Object> filters) {
212
                StringBuilder sql = new StringBuilder();
213
                sql.append("SELECT DISTINCT e FROM Parcela e ");
214
                sql.append("WHERE e.indicadorAtivo is true ");
215
                try {
216
                        setarStringParametrosConsulta(sql, parametrosConsulta);
217
                        sql.append("ORDER BY " + ((ParametrosConsultaLancamentosDTO)parametrosConsulta).getOrdenacao());
218
                        TypedQuery<Parcela> query = getEntityManager().createQuery(sql.toString(), Parcela.class);
219
                        setarQueryParametrosConsulta(query, parametrosConsulta);
220
                        return query.setFirstResult(primeiroRegistro).setMaxResults(tamanhoPagina).getResultList();
221
                } catch(Exception ex) {
222
                        ex.printStackTrace();
223
                        return null;
224
                }
225
        }
226
 
227
        @Override
228
        public List<Parcela> consultarParcelasDaVenda(Long sequencialVenda) {
229
                StringBuilder sql = new StringBuilder();
230
                sql.append("SELECT p FROM Parcela p ");
231
                sql.append("WHERE p.conta.venda.sequencial = :sequencialVenda ");
232
                sql.append("ORDER BY p.dataVencimento ");
233
                try {
234
                        return getEntityManager().createQuery(sql.toString(), Parcela.class).setParameter("sequencialVenda", sequencialVenda).getResultList();
235
                } catch(Exception ex) {
236
                        ex.printStackTrace();
237
                        return null;
238
                }
239
        }
240
 
241
        @Override
242
        public Boolean verificarPossuiParcelaAberta(Venda venda) {
243
                StringBuilder sql = new StringBuilder();
244
                sql.append("SELECT COUNT(p) FROM Parcela p WHERE p.dataPagamento is null AND p.indicadorAtivo = true ");
245
                sql.append("AND p.conta.venda.sequencial = :sequencialVenda ");
246
                TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
247
                query.setParameter("sequencialVenda", venda.getSequencial());
248
                return query.getSingleResult().intValue()>0;
249
        }
250
 
251
        @Override
252
        public Boolean verificarPossuiParcelaAbertaParaPagamento(Conta conta) {
253
                StringBuilder sql = new StringBuilder();
254
                sql.append("SELECT COUNT(p) FROM Parcela p WHERE p.dataPagamento is null AND p.indicadorAtivo = true ");
255
                sql.append("AND p.conta.sequencial = :sequencialConta ");
256
                TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
257
                query.setParameter("sequencialConta", conta.getSequencial());
258
                return query.getSingleResult().intValue()>0;
259
        }
260
 
261
        @Override
262
        public List<Parcela> consultarParcelasDaConta(Conta conta) {
263
                StringBuilder sql = new StringBuilder();
264
                sql.append("SELECT p FROM Parcela p WHERE p.indicadorAtivo = true ");
265
                sql.append("AND p.conta.sequencial = :sequencialConta ");
266
                return getEntityManager().createQuery(sql.toString(), Parcela.class).setParameter("sequencialConta", conta.getSequencial()).getResultList();
267
        }
268
 
269
        @Override
270
        public Boolean verificarPossuiParcela(Venda venda) {
271
                StringBuilder sql = new StringBuilder();
272
                sql.append("SELECT COUNT(p) FROM Parcela p WHERE p.indicadorAtivo = true ");
273
                sql.append("AND p.conta.venda.sequencial = :sequencialVenda ");
274
                TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
275
                query.setParameter("sequencialVenda", venda.getSequencial());
276
                return query.getSingleResult().intValue()>0;
277
        }
278
 
279
        @Override
280
        public Double obterValorPassandoParametrosConsulta(ParametrosConsulta<Parcela> parametrosConsulta) {
281
                StringBuilder sql = new StringBuilder();
282
                sql.append("SELECT DISTINCT SUM(e.valor) FROM Parcela e ");
283
                sql.append("WHERE e.indicadorAtivo is true ");
284
                try {
285
                        setarStringParametrosConsulta(sql, parametrosConsulta);
286
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
287
                        setarQueryParametrosConsulta(query, parametrosConsulta);
288
                        return query.getSingleResult();
289
                } catch(Exception ex) {
290
                        ex.printStackTrace();
291
                        return null;
292
                }
293
        }
294
 
295
        @Override
296
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Parcela> parametrosConsulta) {
297
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta)) {
298
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getContaBancaria())) {
299
                                sql.append("AND e.contaBancaria.sequencial = :sequencialContaBancaria ");
300
                        }
301
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoBusca())) {
302
                                if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoBusca().equals("R")) {
303
                                        sql.append("AND e.conta.tipoConta = 'R' ");
304
                                }
305
                                if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoBusca().equals("P")) {
306
                                        sql.append("AND e.conta.tipoConta = 'P' ");
307
                                }
308
                        }
309
 
310
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO) parametrosConsulta).getCentroDeCustos())) {
311
                                if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getCentroDeCustos().getSequencial().equals(new Long(-1))) {
312
                                        sql.append("AND e.conta.loja IS NULL ");
313
                                } else {
314
                                        sql.append("AND e.conta.loja.sequencial = :sequencialCentroDeCustos ");
315
                                }
316
                        }
317
 
318
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getCategoria())) {
319
                                sql.append("AND e.conta.categoria.sequencial = :sequencialCategoria ");
320
                        }
321
 
322
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getFavorecido())) {
323
                                sql.append("AND e.conta.pessoa.sequencial = :sequencialPessoa ");
324
                        }
325
 
326
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getFavorecido())) {
327
                                sql.append("AND e.conta.pessoa.sequencial = :sequencialPessoa ");
328
                        }
329
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getObservacao())) {
330
                                sql.append("AND upper(e.observacao) like upper(:observacao) ");
331
                        }
332
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getVigencia())) {
333
                                if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getVigencia().getSequencial().equals(new Long(-1))) {
334
                                        sql.append("AND e.conta.vigencia IS NULL ");
335
                                } else {
336
                                        sql.append("AND e.conta.vigencia = :vigencia ");
337
                                }
338
                        }
339
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getOficial())) {
340
                                if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getOficial()) {
341
                                        sql.append("AND e.indicadorOficial IS TRUE ");
342
                                } else {
343
                                        sql.append("AND e.indicadorOficial IS FALSE ");
344
                                }
345
                        }
346
 
347
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getIndicadorDRE())) {
348
                                sql.append("AND e.conta.categoria.indicadorDRE = :indicadorDRE ");
349
                        } else if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getPagamentoRealizado()) {
350
                                if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataInicial()) &&
351
                                                VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataFinal())) {
352
                                        sql.append("AND e.dataPagamento is not null ");
353
                                        sql.append("AND e.dataPagamento >= :dataInicial AND e.dataPagamento <= :dataFinal ");
354
                                }
355
                        } else {
356
                                sql.append("AND e.dataPagamento is null ");
357
                                if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataVencimento())) {
358
                                        sql.append("AND e.dataVencimento = :dataVencimento ");
359
                                }
360
                                if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoFormaDePagamento())) {
361
                                        if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoFormaDePagamento().equals(TipoCartao.DEBITO.getValor())) {
362
                                                sql.append("AND e.conta.formaDePagamento.formaPagamento.codigo = 2 ");
363
                                        } else if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getTipoFormaDePagamento().equals(TipoCartao.CREDITO.getValor())) {
364
                                                sql.append("AND e.conta.formaDePagamento.formaPagamento.codigo in (3, 4, 5, 7, 8, 9, 10, 11, 12, 13) ");
365
                                        }
366
                                }
367
                        }
368
                }
369
        }
370
 
371
        @Override
372
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Parcela> parametrosConsulta) {
373
                if (VerificadorUtil.naoEstaNulo(parametrosConsulta)) {
374
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getContaBancaria())) {
375
                                query.setParameter("sequencialContaBancaria", ((ParametrosConsultaLancamentosDTO)parametrosConsulta).getContaBancaria().getSequencial());
376
                        }
377
 
378
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO) parametrosConsulta).getCentroDeCustos())) {
379
                                if (!((ParametrosConsultaLancamentosDTO)parametrosConsulta).getCentroDeCustos().getSequencial().equals(new Long(-1))) {
380
                                        query.setParameter("sequencialCentroDeCustos", ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getCentroDeCustos().getSequencial());
381
                                }
382
                        }
383
 
384
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getCategoria())) {
385
                                query.setParameter("sequencialCategoria", ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getCategoria().getSequencial());
386
                        }
387
 
388
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getFavorecido())) {
389
                                query.setParameter("sequencialPessoa", ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getFavorecido().getSequencial());
390
                        }
391
 
392
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getObservacao())) {
393
                                query.setParameter("observacao", "%" + ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getObservacao() + "%");
394
                        }
395
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getVigencia())) {
396
                                if (!((ParametrosConsultaLancamentosDTO)parametrosConsulta).getVigencia().getSequencial().equals(new Long(-1))) {
397
                                        query.setParameter("vigencia", ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getVigencia());
398
                                }
399
                        }
400
                        if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getIndicadorDRE())) {
401
                                query.setParameter("indicadorDRE", ((ParametrosConsultaLancamentosDTO) parametrosConsulta).getIndicadorDRE());
402
                        }
403
 
404
                        if (((ParametrosConsultaLancamentosDTO)parametrosConsulta).getPagamentoRealizado()) {
405
                                if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataInicial()) &&
406
                                                VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataFinal())) {
407
                                        query.setParameter("dataInicial", ((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataInicial());
408
                                        query.setParameter("dataFinal", ((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataFinal());
409
                                }
410
                        } else if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataVencimento())) {
411
                                query.setParameter("dataVencimento", ((ParametrosConsultaLancamentosDTO)parametrosConsulta).getDataVencimento());
412
                        }
413
                }
414
 
415
        }
416
 
417
        @Override
418
        protected void setarStringParametrosConsultar(StringBuilder sql, Parcela parcela) {
419
                if (VerificadorUtil.naoEstaNulo(parcela)) {
420
                        if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getConta())) {
421
                                if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getConta().getSequencial())) {
422
                                        sql.append("AND e.conta.sequencial = :sequencialConta ");
423
                                }
424
                        }
425
                        if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getIndicadorAtivo())) {
426
                                sql.append("AND e.indicadorAtivo = :indicadorAtivo ");
427
                        }
428
                }
429
        }
430
 
431
        @Override
432
        protected void setarQueryParametrosConsultar(Query query, Parcela parcela) {
433
                if (VerificadorUtil.naoEstaNulo(parcela)) {
434
                        if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getConta())) {
435
                                if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getConta().getSequencial())) {
436
                                        query.setParameter("sequencialConta", parcela.getConta().getSequencial());
437
                                }
438
                        }
439
                        if (VerificadorUtil.naoEstaNuloOuVazio(parcela.getIndicadorAtivo())) {
440
                                query.setParameter("indicadorAtivo", parcela.getIndicadorAtivo());
441
                        }
442
                }
443
        }
444
        */
445
}