Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
296 espaco 1
package br.com.ec.domain.dto;
2
 
379 espaco 3
import java.util.ArrayList;
296 espaco 4
import java.util.List;
5
 
6
import org.primefaces.model.file.UploadedFile;
7
 
379 espaco 8
import br.com.ec.core.util.VerificadorUtil;
296 espaco 9
import br.com.ec.domain.model.tipos.TipoExtratoBancarioCsv;
379 espaco 10
import br.com.ec.domain.model.tipos.TipoExtratoBanco;
11
import br.com.ec.web.util.DataUtil;
296 espaco 12
 
13
public class ExtratoBancarioArquivoDTO {
14
 
15
        private ContaBancariaDTO contaBancariaDTO;
16
        private String tipoExtratoBancarioCsv;
17
        private UploadedFile arquivoExtratoBancario;
18
        private List<String> linhasArquivo;
19
 
377 espaco 20
        private List<ExtratoBancoDTO> dadosExtratoBancoDTO;
21
 
379 espaco 22
        public ExtratoBancarioArquivoDTO() {
23
                this.dadosExtratoBancoDTO = new ArrayList<ExtratoBancoDTO>();
24
        }
296 espaco 25
 
26
        public ExtratoBancarioArquivoDTO(String tipoExtratoBancarioCsv, UploadedFile arquivoExtratoBancario) {
27
                super();
28
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
29
                this.arquivoExtratoBancario = arquivoExtratoBancario;
30
        }
31
 
32
        public ContaBancariaDTO getContaBancariaDTO() {
33
                return contaBancariaDTO;
34
        }
35
        public void setContaBancariaDTO(ContaBancariaDTO contaBancariaDTO) {
36
                this.contaBancariaDTO = contaBancariaDTO;
37
        }
38
 
39
        public String getTipoExtratoBancarioCsv() {
40
                return tipoExtratoBancarioCsv;
41
        }
42
        public void setTipoExtratoBancarioCsv(String tipoExtratoBancarioCsv) {
43
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
44
        }
45
        public String getDescricaoTipoExtratoBancarioCsv() {
379 espaco 46
                if (VerificadorUtil.naoEstaNuloOuVazio(getTipoExtratoBancarioCsv())) {
47
                        return TipoExtratoBancarioCsv.parse(getTipoExtratoBancarioCsv()).getDescricao();
48
                }
49
                return "";
296 espaco 50
        }
51
 
52
        public UploadedFile getArquivoExtratoBancario() {
53
                return arquivoExtratoBancario;
54
        }
55
        public void setArquivoExtratoBancario(UploadedFile arquivoExtratoBancario) {
56
                this.arquivoExtratoBancario = arquivoExtratoBancario;
57
        }
58
 
59
        public List<String> getLinhasArquivo() {
60
                return linhasArquivo;
61
        }
62
        public void setLinhasArquivo(List<String> linhasArquivo) {
63
                this.linhasArquivo = linhasArquivo;
64
        }
65
 
377 espaco 66
        public List<ExtratoBancoDTO> getDadosExtratoBancoDTO() {
67
                return dadosExtratoBancoDTO;
68
        }
69
        public void setDadosExtratoBancoDTO(List<ExtratoBancoDTO> dadosExtratoBancoDTO) {
70
                this.dadosExtratoBancoDTO = dadosExtratoBancoDTO;
71
        }
72
 
379 espaco 73
        /**************************************/
74
 
75
        public Boolean todoExtratoConciliado() {
76
                if (!VerificadorUtil.isListaNulaOuVazia(getDadosExtratoBancoDTO())) {
77
                        for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) {
78
                                if (!extratoBancoDTO.getIndicadorConciliado()) {
79
                                        return false;
80
                                }
81
                        }
82
                }
83
                return true;
84
        }
85
 
86
        public void extrairDados() {
87
                if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_ITAU.getValor())) {
88
                        setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>());
89
                        getDadosExtratoBancoDTO().addAll(extrairDadosItau());
90
                }
91
        }
92
 
93
        private List<ExtratoBancoDTO> extrairDadosItau() {
94
                List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>();
95
                for (String linha : this.getLinhasArquivo()) {
96
                        String[] dadosSeparados = linha.split(";");
97
                        if (dadosSeparados.length > 0) {
98
                                if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) {
99
                                        if (dadosSeparados[0].contains("/")) {
100
                                                ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO();
101
                                                extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO());
102
                                                extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0]));
103
                                                extratoBancoDTO.setIndicadorCadastrar(false);
104
                                                if (dadosSeparados.length >= 3) {
105
                                                        extratoBancoDTO.setDescricao(dadosSeparados[1]);
106
                                                        Double valor = 0.0;
107
                                                        if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[2])) {
108
                                                                valor = new Double(dadosSeparados[2].replace(".", "").replace(",", ".") );
109
                                                        }
110
                                                        extratoBancoDTO.setValorTotal(valor);
111
                                                        extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor());
112
                                                        if (extratoBancoDTO.getDescricao().contains("DB")) {
113
                                                                extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor());
114
                                                } else if (extratoBancoDTO.getDescricao().contains("CD") ||
115
                                                                   extratoBancoDTO.getDescricao().contains("REDE  EL ") ||
116
                                                                   extratoBancoDTO.getDescricao().contains("REDE  MC ") ||
117
                                                                   extratoBancoDTO.getDescricao().contains("REDE  VS ") ||
118
                                                                   extratoBancoDTO.getDescricao().contains("REDE  HC ") ||
119
                                                                   extratoBancoDTO.getDescricao().contains("REDE  AM ")) {
120
                                                        extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor());
121
                                                } else if (extratoBancoDTO.getDescricao().contains("TRANSF") ||
122
                                                                   extratoBancoDTO.getDescricao().contains("PIX QRS")) {
123
                                                        extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor());
124
                                                } else if (extratoBancoDTO.getDescricao().contains("APLIC AUT")) {
125
                                                        extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor());       
126
                                                } else if (!extratoBancoDTO.getDescricao().contains("SALDO PARCIAL")) {
127
                                                        if (VerificadorUtil.naoEstaNulo(valor)) {
128
                                                                if (valor < 0.0) {
129
                                                                        extratoBancoDTO.setValorTotal(valor * -1);
130
                                                                        extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor());
131
                                                                }
132
                                                        }
133
                                                }
134
                                                }
135
                                                if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) {
136
                                                        extratoBancoDTO.setIndicadorCadastrar(true);
137
                                                }
138
                                                extratosExtraidos.add(extratoBancoDTO);
139
                                        }
140
                                }
141
                        }
142
                }
143
                return extratosExtraidos;
144
        }
145
 
146
        public void selecionarTodosDadosExtrato() {
147
                if (VerificadorUtil.naoEstaNuloOuVazio(getDadosExtratoBancoDTO())) {
148
                        for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) {
149
                                if (extratoBancoDTO.getIndicadorCadastrar()) {
150
                                        extratoBancoDTO.setIndicadorCadastrar(false);
151
                                } else {
152
                                        extratoBancoDTO.setIndicadorCadastrar(true);
153
                                }
154
                        }
155
                }
156
        }
157
 
296 espaco 158
}