Subversion Repositories Integrator Subversion

Rev

Rev 377 | Rev 380 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 377 Rev 379
Line 1... Line 1...
1
package br.com.ec.domain.dto;
1
package br.com.ec.domain.dto;
2
2
-
 
3
import java.util.ArrayList;
3
import java.util.List;
4
import java.util.List;
4
5
5
import org.primefaces.model.file.UploadedFile;
6
import org.primefaces.model.file.UploadedFile;
6
7
-
 
8
import br.com.ec.core.util.VerificadorUtil;
7
import br.com.ec.domain.model.tipos.TipoExtratoBancarioCsv;
9
import br.com.ec.domain.model.tipos.TipoExtratoBancarioCsv;
-
 
10
import br.com.ec.domain.model.tipos.TipoExtratoBanco;
-
 
11
import br.com.ec.web.util.DataUtil;
8
12
9
public class ExtratoBancarioArquivoDTO {
13
public class ExtratoBancarioArquivoDTO {
10
       
14
       
11
        private ContaBancariaDTO contaBancariaDTO;
15
        private ContaBancariaDTO contaBancariaDTO;
12
        private String tipoExtratoBancarioCsv;
16
        private String tipoExtratoBancarioCsv;
13
        private UploadedFile arquivoExtratoBancario;
17
        private UploadedFile arquivoExtratoBancario;
14
        private List<String> linhasArquivo;
18
        private List<String> linhasArquivo;
15
       
19
       
16
        private List<ExtratoBancoDTO> dadosExtratoBancoDTO;
20
        private List<ExtratoBancoDTO> dadosExtratoBancoDTO;
17
       
21
       
18
        public ExtratoBancarioArquivoDTO() {}
-
 
-
 
22
        public ExtratoBancarioArquivoDTO() {
-
 
23
                this.dadosExtratoBancoDTO = new ArrayList<ExtratoBancoDTO>();
-
 
24
        }
19
       
25
       
20
        public ExtratoBancarioArquivoDTO(String tipoExtratoBancarioCsv, UploadedFile arquivoExtratoBancario) {
26
        public ExtratoBancarioArquivoDTO(String tipoExtratoBancarioCsv, UploadedFile arquivoExtratoBancario) {
21
                super();
27
                super();
22
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
28
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
23
                this.arquivoExtratoBancario = arquivoExtratoBancario;
29
                this.arquivoExtratoBancario = arquivoExtratoBancario;
Line 35... Line 41...
35
        }
41
        }
36
        public void setTipoExtratoBancarioCsv(String tipoExtratoBancarioCsv) {
42
        public void setTipoExtratoBancarioCsv(String tipoExtratoBancarioCsv) {
37
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
43
                this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv;
38
        }
44
        }
39
        public String getDescricaoTipoExtratoBancarioCsv() {
45
        public String getDescricaoTipoExtratoBancarioCsv() {
40
                return TipoExtratoBancarioCsv.parse(getTipoExtratoBancarioCsv()).getDescricao();
-
 
-
 
46
                if (VerificadorUtil.naoEstaNuloOuVazio(getTipoExtratoBancarioCsv())) {
-
 
47
                        return TipoExtratoBancarioCsv.parse(getTipoExtratoBancarioCsv()).getDescricao();
-
 
48
                }
-
 
49
                return "";
41
        }
50
        }
42
51
43
        public UploadedFile getArquivoExtratoBancario() {
52
        public UploadedFile getArquivoExtratoBancario() {
44
                return arquivoExtratoBancario;
53
                return arquivoExtratoBancario;
45
        }
54
        }
Line 57... Line 66...
57
        public List<ExtratoBancoDTO> getDadosExtratoBancoDTO() {
66
        public List<ExtratoBancoDTO> getDadosExtratoBancoDTO() {
58
                return dadosExtratoBancoDTO;
67
                return dadosExtratoBancoDTO;
59
        }
68
        }
60
        public void setDadosExtratoBancoDTO(List<ExtratoBancoDTO> dadosExtratoBancoDTO) {
69
        public void setDadosExtratoBancoDTO(List<ExtratoBancoDTO> dadosExtratoBancoDTO) {
61
                this.dadosExtratoBancoDTO = dadosExtratoBancoDTO;
70
                this.dadosExtratoBancoDTO = dadosExtratoBancoDTO;
-
 
71
        }
-
 
72
       
-
 
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
                }
62
        }
156
        }
63
       
157
       
64
}
158
}