Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
281 espaco 1
package br.com.ec.controller;
2
 
3
import java.io.BufferedReader;
4
import java.io.IOException;
5
import java.io.InputStreamReader;
6
import java.io.Serializable;
7
import java.util.ArrayList;
8
import java.util.List;
9
 
10
import javax.faces.application.FacesMessage;
11
import javax.faces.context.FacesContext;
12
import javax.inject.Inject;
13
import javax.inject.Named;
14
 
15
import org.primefaces.model.file.UploadedFile;
16
import org.springframework.context.annotation.Scope;
17
 
18
import br.com.ec.core.exception.NegocioException;
19
import br.com.ec.core.generic.GenericService;
20
import br.com.ec.core.util.DataUtils;
21
import br.com.ec.core.util.VerificadorUtil;
22
import br.com.ec.domain.dto.ConciliacaoBancariaArquivoExtratoDTO;
23
import br.com.ec.domain.dto.ConciliacaoBancariaDTO;
24
import br.com.ec.domain.dto.ConciliacaoBancariaLancamentoDTO;
25
import br.com.ec.domain.dto.ConciliacaoBancariaRecebiveisDTO;
26
import br.com.ec.domain.dto.EmpresaDTO;
27
import br.com.ec.domain.dto.ParcelaDTO;
28
import br.com.ec.domain.dto.VigenciaDTO;
29
import br.com.ec.domain.model.tipos.TipoExtratoBancarioCsv;
30
import br.com.ec.domain.service.ConciliacaoBancariaService;
31
import br.com.ec.domain.shared.ConstantesSEC;
32
import br.com.ec.web.exception.VerificadorLancamentoException;
33
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
34
import br.com.ec.web.generic.AbstractBean;
35
 
36
@Named
37
@Scope("view")
38
public class ConciliacaoBancariaBean extends AbstractBean<ConciliacaoBancariaDTO> implements Serializable {
39
 
40
        private static final long serialVersionUID = 1L;
41
 
42
        private VigenciaDTO vigenciaSelecionadaDTO;
43
        private List<EmpresaDTO> empresasDTO;
44
 
45
        private ConciliacaoBancariaArquivoExtratoDTO arquivoExtratoBancarioDTO;
46
 
47
        private ConciliacaoBancariaService conciliacaoBancariaService;
48
 
49
        @Inject
50
        public ConciliacaoBancariaBean(ConciliacaoBancariaService conciliacaoBancariaService) {
51
                this.conciliacaoBancariaService = conciliacaoBancariaService;
52
        }
53
 
54
        @Override
55
        public GenericService<ConciliacaoBancariaDTO> getService() {
56
                return null;
57
        }
58
 
59
        @Override
60
        public ConciliacaoBancariaDTO getId() {
61
                return null;
62
        }
63
 
64
        @Override
65
        public void preCarregamento() {
66
                limparEntidade();
67
        }
68
 
69
        @Override
70
        public void limparEntidade() {
71
                setEntidade(new ConciliacaoBancariaDTO());
72
                setArquivoExtratoBancarioDTO(new ConciliacaoBancariaArquivoExtratoDTO());
73
        }
74
 
75
        public TipoExtratoBancarioCsv[] getTiposExtratosBancariosCsv() {
76
                return TipoExtratoBancarioCsv.values();
77
        }
78
 
79
        public VigenciaDTO getVigenciaSelecionadaDTO() {
80
                return vigenciaSelecionadaDTO;
81
        }
82
        public void setVigenciaSelecionadaDTO(VigenciaDTO vigenciaSelecionadaDTO) {
83
                this.vigenciaSelecionadaDTO = vigenciaSelecionadaDTO;
84
        }
85
 
86
        public ConciliacaoBancariaArquivoExtratoDTO getArquivoExtratoBancarioDTO() {
87
                return arquivoExtratoBancarioDTO;
88
        }
89
        public void setArquivoExtratoBancarioDTO(ConciliacaoBancariaArquivoExtratoDTO arquivoExtratoBancarioDTO) {
90
                this.arquivoExtratoBancarioDTO = arquivoExtratoBancarioDTO;
91
        }
92
 
93
        public List<EmpresaDTO> getEmpresasDTO() {
94
                if (VerificadorUtil.isListaNulaOuVazia(empresasDTO)) {
95
                        List<EmpresaDTO> empresasDTO = new ArrayList<EmpresaDTO>();
96
                        empresasDTO.add(new EmpresaDTO(ConstantesSEC.Empresa.CODIGO_EMPRESA_ESPACO_CASE_1, ConstantesSEC.Empresa.DESCRICAO_EMPRESA_ESPACO_CASE));
97
                        empresasDTO.add(new EmpresaDTO(ConstantesSEC.Empresa.CODIGO_EMPRESA_CASA_DAS_CAPAS_4, ConstantesSEC.Empresa.DESCRICAO_EMPRESA_CASA_DAS_CAPAS));
98
                        setEmpresasDTO(empresasDTO);
99
                }
100
                return empresasDTO;
101
        }
102
        public void setEmpresasDTO(List<EmpresaDTO> empresasDTO) {
103
                this.empresasDTO = empresasDTO;
104
        }
105
 
106
        /*******************************************/
107
 
108
        public void uploadArquivoExtratoBancario() {
109
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
110
                        public void execute() {
111
                                if (VerificadorUtil.estaNulo(getArquivoExtratoBancarioDTO())) {
112
                                        throw new NegocioException("REALIZE O UPLOAD DO ARQUIVO");
113
                                }
282 espaco 114
                                if (VerificadorUtil.estaNulo(getArquivoExtratoBancarioDTO().getContaBancariaDTO())) {
115
                                        throw new NegocioException("SELECIONE A CONTA BANCÁRIA DO EXTRATO");
281 espaco 116
                                }
117
                                if (VerificadorUtil.estaNulo(getArquivoExtratoBancarioDTO().getArquivoExtratoBancario())) {
118
                                        throw new NegocioException("REALIZE O UPLOAD DO ARQUIVO");
119
                                }
120
                                if (VerificadorUtil.estaNuloOuVazio(getArquivoExtratoBancarioDTO().getTipoExtratoBancarioCsv())) {
121
                                        throw new NegocioException("SELECIONE O TIPO DO EXTRATO BANCÁRIO");
122
                                }
123
 
124
                                getArquivoExtratoBancarioDTO().setLinhasArquivo(extrairLinhasArquivo(getArquivoExtratoBancarioDTO().getArquivoExtratoBancario()));
125
                                getEntidade().getArquivosExtratoBancarioDTO().add(getArquivoExtratoBancarioDTO());
126
 
127
                                FacesMessage message = new FacesMessage("Successful", getArquivoExtratoBancarioDTO().getArquivoExtratoBancario().getFileName() + " foi adicionado com sucesso!");
128
                                FacesContext.getCurrentInstance().addMessage(null, message);
129
                                setArquivoExtratoBancarioDTO(new ConciliacaoBancariaArquivoExtratoDTO());
130
                        }
131
                });
132
        }
133
 
134
        public List<String> extrairLinhasArquivo(UploadedFile arquivo) {
135
                BufferedReader reader = null;
136
                List<String> linhas = new ArrayList<String>();
137
                try {
138
                        reader = new BufferedReader(new InputStreamReader(arquivo.getInputStream()));
139
                        String linha = reader.readLine();
140
                        linha = reader.readLine();
141
                        linha = reader.readLine();
142
                while ((linha = reader.readLine()) != null) {
143
                        linhas.add(linha);
144
                }
145
                } catch (Exception ex) {
146
                        ex.printStackTrace();
147
                } finally {
148
                        try {
149
                                reader.close();
150
                        } catch (IOException exc) {
151
                                exc.printStackTrace();
152
                        }
153
                }
154
                return linhas;
155
        }
156
 
157
        public void consultarConciliacaoBancaria() {
158
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
159
                        public void execute() {
160
                                if (VerificadorUtil.estaNulo(getVigenciaSelecionadaDTO())) {
161
                                        throw new NegocioException("SELECIONE A VIGÊNCIA");
162
                                }
163
                                getEntidade().setVigenciaDTO(getVigenciaSelecionadaDTO());
164
                                setEntidade(conciliacaoBancariaService.preencherValores(getEntidade()));
165
                        }
166
                });
167
        }
168
 
169
        public void consultarConciliacaoBancariaTeste() {
170
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
171
                        public void execute() {
172
                                if (VerificadorUtil.estaNulo(getVigenciaSelecionadaDTO())) {
173
                                        throw new NegocioException("SELECIONE A VIGÊNCIA");
174
                                }
175
                                adicionarValoresTeste();
176
                        }
177
                });
178
        }
179
 
180
        public void adicionarValoresTeste() {
181
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
182
                        public void execute() {
183
                                ConciliacaoBancariaDTO conciliacaoCompleta = new ConciliacaoBancariaDTO();
184
                                conciliacaoCompleta.setVigenciaDTO(getVigenciaSelecionadaDTO());
185
                                conciliacaoCompleta.setArquivosExtratoBancarioDTO(getEntidade().getArquivosExtratoBancarioDTO());
186
 
187
                                List<ConciliacaoBancariaLancamentoDTO> lancamentos = new ArrayList<ConciliacaoBancariaLancamentoDTO>();
188
 
189
                                ConciliacaoBancariaLancamentoDTO lancamento = new ConciliacaoBancariaLancamentoDTO();
190
                                lancamento.setDataConciliacao(DataUtils.converterStringParaData("01/07/2021"));
191
                                lancamento.setValorDebitoBanco(4139.36);
192
                                lancamento.setValorDebitoSistema(4139.49);
193
                                lancamento.setValorCreditoBanco(4884.52);
194
                                lancamento.setValorCreditoSistema(4844.68);
195
 
196
                                List<ConciliacaoBancariaRecebiveisDTO> recebiveisDebitos = new ArrayList<ConciliacaoBancariaRecebiveisDTO>();
197
 
198
                                // BRADESCO: DÉBITOS ESPAÇO CASE
199
                                ConciliacaoBancariaRecebiveisDTO recebivelDEC = new ConciliacaoBancariaRecebiveisDTO();
200
                                recebivelDEC.setObservacao("BRADESCO: DÉBITOS ESPAÇO CASE");
201
                                ParcelaDTO parcela1 = new ParcelaDTO();
202
                                parcela1.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
203
                                parcela1.setObservacao("REDE MASTER DÉBITO REDECARD S A");
204
                                parcela1.setValor(1331.58);
205
                                recebivelDEC.getParcelasBanco().add(parcela1);
206
                                ParcelaDTO parcela2 = new ParcelaDTO();
207
                                parcela2.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
208
                                parcela2.setObservacao("REDE HIPER DÉBITO REDECARD S A");
209
                                parcela2.setValor(97.95);
210
                                recebivelDEC.getParcelasBanco().add(parcela2);
211
 
212
                                ParcelaDTO parcela3 = new ParcelaDTO();
213
                                parcela3.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
214
                                parcela3.setObservacao("DÉBITO DA VENDA 241629");
215
                                parcela3.setValor(1331.52);
216
                                recebivelDEC.getParcelasSistema().add(parcela3);
217
                                ParcelaDTO parcela4 = new ParcelaDTO();
218
                                parcela4.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
219
                                parcela4.setObservacao("DÉBITO DA VENDA 214511");
220
                                parcela4.setValor(97.90);
221
                                recebivelDEC.getParcelasSistema().add(parcela4);
222
                                recebiveisDebitos.add(recebivelDEC);
223
 
224
                                // BRADESCO: DÉBITOS CASA DAS CAPAS
225
                                ConciliacaoBancariaRecebiveisDTO recebivelDCC = new ConciliacaoBancariaRecebiveisDTO();
226
                                recebivelDCC.setObservacao("BRADESCO: DÉBITOS CASA DAS CAPAS");
227
                                ParcelaDTO parcela5 = new ParcelaDTO();
228
                                parcela5.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
229
                                parcela5.setObservacao("REDE MASTER DÉBITO REDECARD S A");
230
                                parcela5.setValor(31.00);
231
                                recebivelDCC.getParcelasBanco().add(parcela5);
232
                                ParcelaDTO parcela6 = new ParcelaDTO();
233
                                parcela6.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
234
                                parcela6.setObservacao("REDE HIPER DÉBITO REDECARD S A");
235
                                parcela6.setValor(7.95);
236
                                recebivelDCC.getParcelasBanco().add(parcela6);
237
 
238
                                ParcelaDTO parcela7 = new ParcelaDTO();
239
                                parcela7.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
240
                                parcela7.setObservacao("DÉBITO DA VENDA 123124");
241
                                parcela7.setValor(31.20);
242
                                recebivelDCC.getParcelasSistema().add(parcela7);
243
                                ParcelaDTO parcela8 = new ParcelaDTO();
244
                                parcela8.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
245
                                parcela8.setObservacao("DÉBITO DA VENDA 123132");
246
                                parcela8.setValor(7.05);
247
                                recebivelDCC.getParcelasSistema().add(parcela8);
248
                                recebiveisDebitos.add(recebivelDCC);
249
 
250
                                lancamento.setParcelasRecebiveisDebitos(recebiveisDebitos);
251
 
252
                                List<ConciliacaoBancariaRecebiveisDTO> recebiveisCreditos = new ArrayList<ConciliacaoBancariaRecebiveisDTO>();
253
                                ConciliacaoBancariaRecebiveisDTO recebivelCEC = new ConciliacaoBancariaRecebiveisDTO();
254
                                // BRADESCO: CRÉDITOS ESPAÇO CASE
255
                                recebivelCEC.setObservacao("BRADESCO: CRÉDITOS ESPAÇO CASE");
256
                                ParcelaDTO parcela9 = new ParcelaDTO();
257
                                parcela9.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
258
                                parcela9.setObservacao("REDE MASTER CRÉDITO REDECARD S A");
259
                                parcela9.setValor(2331.58);
260
                                recebivelCEC.getParcelasBanco().add(parcela9);
261
                                ParcelaDTO parcela10 = new ParcelaDTO();
262
                                parcela10.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
263
                                parcela10.setObservacao("REDE HIPER CRÉDITO REDECARD S A");
264
                                parcela10.setValor(107.95);
265
                                recebivelCEC.getParcelasBanco().add(parcela10);
266
 
267
                                ParcelaDTO parcela11 = new ParcelaDTO();
268
                                parcela11.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
269
                                parcela11.setObservacao("CRÉDITO 6/6 DA VENDA 241629");
270
                                parcela11.setValor(1831.02);
271
                                recebivelCEC.getParcelasSistema().add(parcela11);
272
                                ParcelaDTO parcela12 = new ParcelaDTO();
273
                                parcela12.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
274
                                parcela12.setObservacao("CRÉDITO 1/1 DA VENDA 214511");
275
                                parcela12.setValor(2007.00);
276
                                recebivelCEC.getParcelasSistema().add(parcela12);
277
                                recebiveisCreditos.add(recebivelCEC);
278
 
279
                                // BRADESCO: DÉBITOS CASA DAS CAPAS
280
                                ConciliacaoBancariaRecebiveisDTO recebivelCCC = new ConciliacaoBancariaRecebiveisDTO();
281
                                recebivelCCC.setObservacao("BRADESCO: CRÉDITOS CASA DAS CAPAS");
282
                                ParcelaDTO parcela13 = new ParcelaDTO();
283
                                parcela13.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
284
                                parcela13.setObservacao("REDE MASTER CRÉDITO REDECARD S A");
285
                                parcela13.setValor(310.00);
286
                                recebivelCCC.getParcelasBanco().add(parcela13);
287
                                ParcelaDTO parcela14 = new ParcelaDTO();
288
                                parcela14.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
289
                                parcela14.setObservacao("REDE HIPER CRÉDITO REDECARD S A");
290
                                parcela14.setValor(70.25);
291
                                recebivelCCC.getParcelasBanco().add(parcela14);
292
 
293
                                ParcelaDTO parcela15 = new ParcelaDTO();
294
                                parcela15.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
295
                                parcela15.setObservacao("CRÉDITO 1/1 DA VENDA 123124");
296
                                parcela15.setValor(33.20);
297
                                recebivelCCC.getParcelasSistema().add(parcela15);
298
                                ParcelaDTO parcela16 = new ParcelaDTO();
299
                                parcela16.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
300
                                parcela16.setObservacao("CRÉDITO 2/3 DA VENDA 123132");
301
                                parcela16.setValor(70.15);
302
                                recebivelCCC.getParcelasSistema().add(parcela16);
303
                                recebiveisCreditos.add(recebivelCCC);
304
 
305
                                lancamento.setParcelasRecebiveisCreditos(recebiveisCreditos);
306
 
307
                                ParcelaDTO parcela = new ParcelaDTO();
308
                                parcela.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
309
                                parcela.setObservacao("PARCELA OPERACAO CREDITO");
310
                                parcela.setValor(8164.70);
311
                                lancamento.getParcelasPagamentosBanco().add(parcela);
312
 
313
                                ParcelaDTO parcelaa = new ParcelaDTO();
314
                                parcelaa.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
315
                                parcelaa.setObservacao("PAGTO ELETRON COBRANCA");
316
                                parcelaa.setValor(1504.80);
317
                                lancamento.getParcelasPagamentosBanco().add(parcelaa);
318
 
319
                                ParcelaDTO parcelaPagamento = new ParcelaDTO();
320
                                parcelaPagamento.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
321
                                parcelaPagamento.setObservacao("BNDES");
322
                                parcelaPagamento.setValor(8164.70);
323
                                lancamento.getParcelasPagamentos().add(parcelaPagamento);
324
 
325
                                ParcelaDTO parcelaPagamento2 = new ParcelaDTO();
326
                                parcelaPagamento2.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
327
                                parcelaPagamento2.setObservacao("CUSTAS");
328
                                parcelaPagamento2.setValor(1504.80);
329
                                lancamento.getParcelasPagamentos().add(parcelaPagamento2);
330
 
331
                                List<ParcelaDTO> parcelasConciliacoesPagamentos = new ArrayList<ParcelaDTO>();
332
                                ParcelaDTO parcelaConciliacao = new ParcelaDTO();
333
                                parcelaConciliacao.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
334
                                parcelaConciliacao.setObservacao("MAQUINETA REDE");
335
                                parcelaConciliacao.setValor(350.0);
336
                                parcelasConciliacoesPagamentos.add(parcelaConciliacao);
337
                                lancamento.setParcelasPagamentosConciliacoes(parcelasConciliacoesPagamentos);
338
 
339
                                List<ParcelaDTO> parcelasConciliacoesRecebimentos = new ArrayList<ParcelaDTO>();
340
                                ParcelaDTO parcelaConciliacao2 = new ParcelaDTO();
341
                                parcelaConciliacao2.setDataPagamento(DataUtils.converterStringParaData("01/07/2021"));
342
                                parcelaConciliacao2.setObservacao("CONCILIAÇÃO");
343
                                parcelaConciliacao2.setValor(40.0);
344
                                parcelasConciliacoesRecebimentos.add(parcelaConciliacao2);
345
                                lancamento.setParcelasRecebimentosConciliacoes(parcelasConciliacoesRecebimentos);
346
 
347
                                lancamentos.add(lancamento);
348
 
349
                                lancamento = new ConciliacaoBancariaLancamentoDTO();
350
                                lancamento.setDataConciliacao(DataUtils.converterStringParaData("02/07/2021"));
351
                                lancamento.setValorDebitoBanco(4708.98);
352
                                lancamento.setValorDebitoSistema(4708.98);
353
                                lancamento.setValorCreditoBanco(3846.88);
354
                                lancamento.setValorCreditoSistema(3854.27);
355
 
356
                                lancamentos.add(lancamento);
357
 
358
                                conciliacaoCompleta.setLancamentosDTO(lancamentos);
359
 
360
                                setEntidade(conciliacaoCompleta);
361
                        }
362
                });
363
        }
364
 
365
}