Subversion Repositories Integrator Subversion

Rev

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