Rev 729 | 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 | |||
| 380 | espaco | 8 | import br.com.ec.core.util.DataUtils; |
| 379 | espaco | 9 | import br.com.ec.core.util.VerificadorUtil; |
| 392 | espaco | 10 | import br.com.ec.domain.model.tipos.TipoConciliacao; |
| 296 | espaco | 11 | import br.com.ec.domain.model.tipos.TipoExtratoBancarioCsv; |
| 379 | espaco | 12 | import br.com.ec.domain.model.tipos.TipoExtratoBanco; |
| 13 | import br.com.ec.web.util.DataUtil; |
||
| 296 | espaco | 14 | |
| 15 | public class ExtratoBancarioArquivoDTO { |
||
| 16 | |||
| 17 | private ContaBancariaDTO contaBancariaDTO; |
||
| 18 | private String tipoExtratoBancarioCsv; |
||
| 19 | private UploadedFile arquivoExtratoBancario; |
||
| 20 | private List<String> linhasArquivo; |
||
| 21 | |||
| 377 | espaco | 22 | private List<ExtratoBancoDTO> dadosExtratoBancoDTO; |
| 380 | espaco | 23 | private List<ExtratoBancoDTO> dadosExtratoBancoSemCategoriaDTO; |
| 377 | espaco | 24 | |
| 379 | espaco | 25 | public ExtratoBancarioArquivoDTO() { |
| 26 | this.dadosExtratoBancoDTO = new ArrayList<ExtratoBancoDTO>(); |
||
| 380 | espaco | 27 | this.dadosExtratoBancoSemCategoriaDTO = new ArrayList<ExtratoBancoDTO>(); |
| 379 | espaco | 28 | } |
| 296 | espaco | 29 | |
| 30 | public ExtratoBancarioArquivoDTO(String tipoExtratoBancarioCsv, UploadedFile arquivoExtratoBancario) { |
||
| 31 | super(); |
||
| 32 | this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv; |
||
| 33 | this.arquivoExtratoBancario = arquivoExtratoBancario; |
||
| 34 | } |
||
| 35 | |||
| 36 | public ContaBancariaDTO getContaBancariaDTO() { |
||
| 37 | return contaBancariaDTO; |
||
| 38 | } |
||
| 39 | public void setContaBancariaDTO(ContaBancariaDTO contaBancariaDTO) { |
||
| 40 | this.contaBancariaDTO = contaBancariaDTO; |
||
| 41 | } |
||
| 42 | |||
| 43 | public String getTipoExtratoBancarioCsv() { |
||
| 44 | return tipoExtratoBancarioCsv; |
||
| 45 | } |
||
| 46 | public void setTipoExtratoBancarioCsv(String tipoExtratoBancarioCsv) { |
||
| 47 | this.tipoExtratoBancarioCsv = tipoExtratoBancarioCsv; |
||
| 48 | } |
||
| 49 | public String getDescricaoTipoExtratoBancarioCsv() { |
||
| 379 | espaco | 50 | if (VerificadorUtil.naoEstaNuloOuVazio(getTipoExtratoBancarioCsv())) { |
| 51 | return TipoExtratoBancarioCsv.parse(getTipoExtratoBancarioCsv()).getDescricao(); |
||
| 52 | } |
||
| 53 | return ""; |
||
| 296 | espaco | 54 | } |
| 55 | |||
| 56 | public UploadedFile getArquivoExtratoBancario() { |
||
| 57 | return arquivoExtratoBancario; |
||
| 58 | } |
||
| 59 | public void setArquivoExtratoBancario(UploadedFile arquivoExtratoBancario) { |
||
| 60 | this.arquivoExtratoBancario = arquivoExtratoBancario; |
||
| 61 | } |
||
| 62 | |||
| 63 | public List<String> getLinhasArquivo() { |
||
| 64 | return linhasArquivo; |
||
| 65 | } |
||
| 66 | public void setLinhasArquivo(List<String> linhasArquivo) { |
||
| 67 | this.linhasArquivo = linhasArquivo; |
||
| 68 | } |
||
| 69 | |||
| 377 | espaco | 70 | public List<ExtratoBancoDTO> getDadosExtratoBancoDTO() { |
| 71 | return dadosExtratoBancoDTO; |
||
| 72 | } |
||
| 73 | public void setDadosExtratoBancoDTO(List<ExtratoBancoDTO> dadosExtratoBancoDTO) { |
||
| 74 | this.dadosExtratoBancoDTO = dadosExtratoBancoDTO; |
||
| 75 | } |
||
| 76 | |||
| 380 | espaco | 77 | public List<ExtratoBancoDTO> getDadosExtratoBancoSemCategoriaDTO() { |
| 78 | return dadosExtratoBancoSemCategoriaDTO; |
||
| 79 | } |
||
| 80 | public void setDadosExtratoBancoSemCategoriaDTO(List<ExtratoBancoDTO> dadosExtratoBancoSemCategoriaDTO) { |
||
| 81 | this.dadosExtratoBancoSemCategoriaDTO = dadosExtratoBancoSemCategoriaDTO; |
||
| 82 | } |
||
| 83 | |||
| 379 | espaco | 84 | /**************************************/ |
| 85 | |||
| 86 | public Boolean todoExtratoConciliado() { |
||
| 87 | if (!VerificadorUtil.isListaNulaOuVazia(getDadosExtratoBancoDTO())) { |
||
| 88 | for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) { |
||
| 89 | if (!extratoBancoDTO.getIndicadorConciliado()) { |
||
| 90 | return false; |
||
| 91 | } |
||
| 92 | } |
||
| 93 | } |
||
| 94 | return true; |
||
| 95 | } |
||
| 96 | |||
| 380 | espaco | 97 | public void extrairDados(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 379 | espaco | 98 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_ITAU.getValor())) { |
| 99 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
||
| 380 | espaco | 100 | getDadosExtratoBancoDTO().addAll(extrairDadosItau(extratosAnexadosAnteriormente)); |
| 379 | espaco | 101 | } |
| 396 | espaco | 102 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_ITAU_PAGAMENTOS.getValor())) { |
| 103 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
||
| 104 | getDadosExtratoBancoDTO().addAll(extrairDadosItauPagamentos(extratosAnexadosAnteriormente)); |
||
| 105 | } |
||
| 392 | espaco | 106 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_BRADESCO.getValor())) { |
| 107 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
||
| 108 | getDadosExtratoBancoDTO().addAll(extrairDadosBradesco(extratosAnexadosAnteriormente)); |
||
| 109 | } |
||
| 110 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_NUBANK.getValor())) { |
||
| 111 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
||
| 112 | getDadosExtratoBancoDTO().addAll(extrairDadosNubank(extratosAnexadosAnteriormente)); |
||
| 113 | } |
||
| 399 | espaco | 114 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_BNB.getValor())) { |
| 115 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
||
| 116 | getDadosExtratoBancoDTO().addAll(extrairDadosBnb(extratosAnexadosAnteriormente)); |
||
| 117 | } |
||
| 728 | blopes | 118 | if (getTipoExtratoBancarioCsv().equals(TipoExtratoBancarioCsv.EXTRATO_BANCARIO_CSV_INTER.getValor())) { |
| 719 | blopes | 119 | setDadosExtratoBancoDTO(new ArrayList<ExtratoBancoDTO>()); |
| 728 | blopes | 120 | getDadosExtratoBancoDTO().addAll(extrairDadosInter(extratosAnexadosAnteriormente)); |
| 719 | blopes | 121 | } |
| 379 | espaco | 122 | } |
| 123 | |||
| 462 | blopes | 124 | public static void main(String[] args) { |
| 125 | String valor = "SISPAG PAG TIT BANCO 00"; |
||
| 126 | System.out.println(!valor.contains("SISPAG PAG")); |
||
| 127 | } |
||
| 128 | |||
| 129 | |||
| 380 | espaco | 130 | private List<ExtratoBancoDTO> extrairDadosItau(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 379 | espaco | 131 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
| 380 | espaco | 132 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
| 379 | espaco | 133 | for (String linha : this.getLinhasArquivo()) { |
| 134 | String[] dadosSeparados = linha.split(";"); |
||
| 135 | if (dadosSeparados.length > 0) { |
||
| 136 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 137 | if (dadosSeparados[0].contains("/")) { |
||
| 138 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 139 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 140 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
||
| 141 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 142 | if (dadosSeparados.length >= 3) { |
||
| 143 | extratoBancoDTO.setDescricao(dadosSeparados[1]); |
||
| 144 | Double valor = 0.0; |
||
| 145 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[2])) { |
||
| 146 | valor = new Double(dadosSeparados[2].replace(".", "").replace(",", ".") ); |
||
| 147 | } |
||
| 148 | extratoBancoDTO.setValorTotal(valor); |
||
| 149 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 741 | blopes | 150 | if (verificarSeEhDebitoItau(extratoBancoDTO.getDescricao())) { |
| 379 | espaco | 151 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
| 741 | blopes | 152 | } else if (verificarSeEhCreditoItau(extratoBancoDTO.getDescricao())) { |
| 379 | espaco | 153 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 741 | blopes | 154 | } else if (verificarSeEhTransferenciaEntreContasItau(extratoBancoDTO.getDescricao())) { |
| 399 | espaco | 155 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 741 | blopes | 156 | } else if (verificarSeEhTransferenciaItau(extratoBancoDTO.getDescricao())) { |
| 379 | espaco | 157 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 456 | blopes | 158 | } else if (extratoBancoDTO.getDescricao().contains("REND PAGO APLIC AUT")) { |
| 379 | espaco | 159 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
| 403 | espaco | 160 | } else if ((!extratoBancoDTO.getDescricao().contains("SALDO PARCIAL") && |
| 456 | blopes | 161 | !extratoBancoDTO.getDescricao().contains("SALDO FINAL") && |
| 399 | espaco | 162 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.24318-2") && |
| 163 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.99861-1") && |
||
| 403 | espaco | 164 | !extratoBancoDTO.getDescricao().contains("SISPAG TRIBUTOS") && |
| 456 | blopes | 165 | !extratoBancoDTO.getDescricao().contains("SISPAG FORNECEDORES") && |
| 166 | !extratoBancoDTO.getDescricao().contains("SISPAG PAG") && |
||
| 462 | blopes | 167 | !extratoBancoDTO.getDescricao().contains("SISPAG PAG") && |
| 456 | blopes | 168 | !extratoBancoDTO.getDescricao().contains("RES APLIC AUT") && |
| 462 | blopes | 169 | !extratoBancoDTO.getDescricao().contains("APL APLIC AUT") && |
| 715 | blopes | 170 | !extratoBancoDTO.getDescricao().contains("TBI") && |
| 462 | blopes | 171 | !extratoBancoDTO.getDescricao().contains("SISPAG CONSOLIDADO")) || |
| 403 | espaco | 172 | (extratoBancoDTO.getDescricao().contains("SISPAG SALARIOS"))) { |
| 379 | espaco | 173 | if (VerificadorUtil.naoEstaNulo(valor)) { |
| 174 | if (valor < 0.0) { |
||
| 175 | extratoBancoDTO.setValorTotal(valor * -1); |
||
| 176 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 403 | espaco | 177 | } else { |
| 178 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 379 | espaco | 179 | } |
| 180 | } |
||
| 181 | } |
||
| 392 | espaco | 182 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
| 183 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 184 | } else { |
||
| 185 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 186 | } |
||
| 187 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 188 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 189 | } |
||
| 190 | extratosExtraidos.add(extratoBancoDTO); |
||
| 379 | espaco | 191 | } |
| 392 | espaco | 192 | } |
| 193 | } |
||
| 194 | } |
||
| 195 | } |
||
| 196 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 197 | return extratosExtraidos; |
||
| 198 | } |
||
| 199 | |||
| 741 | blopes | 200 | private Boolean verificarSeEhDebitoItau(String linha) { |
| 201 | return linha.contains("DB"); |
||
| 202 | } |
||
| 203 | |||
| 204 | private Boolean verificarSeEhCreditoItau(String linha) { |
||
| 205 | return linha.contains("CD") || |
||
| 206 | linha.contains("REDE EL ") || |
||
| 207 | linha.contains("REDE MC ") || |
||
| 208 | linha.contains("REDE VS ") || |
||
| 209 | linha.contains("REDE HC ") || |
||
| 210 | linha.contains("REDE AM ") || |
||
| 211 | linha.contains("AT00"); |
||
| 212 | } |
||
| 213 | |||
| 214 | private Boolean verificarSeEhTransferenciaEntreContasItau(String linha) { |
||
| 215 | return (linha.contains("TRANSF ESPACO") || linha.contains("TRANSF ESPACO") || linha.contains("PIX RECEBIDO ESPACO")); |
||
| 216 | } |
||
| 217 | |||
| 218 | private Boolean verificarSeEhTransferenciaItau(String linha) { |
||
| 219 | return (linha.contains("TRANSF") || linha.contains("PIX QR")) && |
||
| 220 | !linha.contains("TRANSF 7951.24318-2") && |
||
| 221 | !linha.contains("TRANSF 7951.99861-1") && |
||
| 222 | !linha.contains("TRANSF ESPACO"); |
||
| 223 | } |
||
| 224 | |||
| 396 | espaco | 225 | private List<ExtratoBancoDTO> extrairDadosItauPagamentos(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 226 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 227 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 228 | for (String linha : this.getLinhasArquivo()) { |
||
| 229 | String[] dadosSeparados = linha.split(";"); |
||
| 230 | if (dadosSeparados.length > 4) { |
||
| 231 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 232 | if (dadosSeparados[4].contains("/")) { |
||
| 233 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 234 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 235 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[4])); |
||
| 236 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 237 | if (dadosSeparados.length >= 7) { |
||
| 399 | espaco | 238 | StringBuilder descricao = new StringBuilder(dadosSeparados[2]); |
| 239 | descricao.append(" ("); |
||
| 240 | descricao.append(dadosSeparados[0]); |
||
| 241 | descricao.append(" : "); |
||
| 242 | descricao.append(dadosSeparados[1]); |
||
| 243 | descricao.append(") "); |
||
| 244 | descricao.append(dadosSeparados[3]); |
||
| 245 | extratoBancoDTO.setDescricao(descricao.toString().replace("(- : -)", "").replace(" : -)", ")")); |
||
| 396 | espaco | 246 | Double valor = 0.0; |
| 247 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[5])) { |
||
| 248 | valor = new Double(dadosSeparados[5].replace(".", "").replace(",", ".") ); |
||
| 249 | } |
||
| 407 | espaco | 250 | if (valor < 0.0) { |
| 251 | valor = valor * -1; |
||
| 252 | } |
||
| 396 | espaco | 253 | extratoBancoDTO.setValorTotal(valor); |
| 254 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 255 | if (extratoBancoDTO.getDescricao().contains("PIX") && |
||
| 399 | espaco | 256 | extratoBancoDTO.getDescricao().contains("21.494.821")) { |
| 462 | blopes | 257 | if (valor > 0.0) { |
| 456 | blopes | 258 | valor = valor * -1; |
| 259 | } |
||
| 407 | espaco | 260 | extratoBancoDTO.setValorTotal(valor); |
| 396 | espaco | 261 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 262 | } else if (!extratoBancoDTO.getDescricao().contains("SALDO PARCIAL")) { |
||
| 263 | if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 407 | espaco | 264 | extratoBancoDTO.setValorTotal(valor); |
| 396 | espaco | 265 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 266 | } |
||
| 267 | } |
||
| 462 | blopes | 268 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[6])) { |
| 269 | if (!dadosSeparados[6].equals("Efetuado")) { |
||
| 270 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 271 | } |
||
| 272 | } |
||
| 396 | espaco | 273 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
| 274 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 275 | } else { |
||
| 276 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 277 | } |
||
| 278 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 279 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 280 | } |
||
| 281 | extratosExtraidos.add(extratoBancoDTO); |
||
| 282 | } |
||
| 283 | } |
||
| 284 | } |
||
| 285 | } |
||
| 286 | } |
||
| 287 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 288 | return extratosExtraidos; |
||
| 289 | } |
||
| 290 | |||
| 392 | espaco | 291 | private List<ExtratoBancoDTO> extrairDadosBradesco(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 292 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 293 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 294 | for (String linha : this.getLinhasArquivo()) { |
||
| 295 | String[] dadosSeparados = linha.split(";"); |
||
| 296 | if (dadosSeparados.length > 0) { |
||
| 297 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 298 | if (dadosSeparados[0].contains("/")) { |
||
| 299 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 300 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 301 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
||
| 302 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 303 | if (dadosSeparados.length >= 4) { |
||
| 304 | extratoBancoDTO.setDescricao(dadosSeparados[1]); |
||
| 305 | Double valor = 0.0; |
||
| 306 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[3])) { |
||
| 307 | valor = new Double(dadosSeparados[3].replace(".", "").replace(",", ".")); |
||
| 308 | } else if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[4])) { |
||
| 309 | valor = new Double(dadosSeparados[4].replace(".", "").replace(",", ".")); |
||
| 310 | } |
||
| 311 | extratoBancoDTO.setValorTotal(valor); |
||
| 312 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 719 | blopes | 313 | if (verificarSeEhDebitoBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 314 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
| 719 | blopes | 315 | } else if (verificarSeEhCreditoBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 316 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 719 | blopes | 317 | } else if (verificarSeEhTransferenciaEntreContasBradesco(extratoBancoDTO.getDescricao())) { |
| 396 | espaco | 318 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 719 | blopes | 319 | } else if (verificarSeEhTransferenciaBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 320 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 321 | } else if (!extratoBancoDTO.getDescricao().contains("RESGATE INVEST FACIL") && |
||
| 322 | !extratoBancoDTO.getDescricao().contains("APLIC.INVEST FACIL") && |
||
| 323 | !extratoBancoDTO.getDescricao().contains("APLICACAO AUTOMATICA") && |
||
| 456 | blopes | 324 | !extratoBancoDTO.getDescricao().contains("BAIXA AUTOMATICA FUNDOS") && |
| 325 | !extratoBancoDTO.getDescricao().contains("SALDO ANTERIOR")) { |
||
| 392 | espaco | 326 | if (VerificadorUtil.naoEstaNulo(valor)) { |
| 327 | if (valor < 0.0) { |
||
| 399 | espaco | 328 | extratoBancoDTO.setValorTotal(valor); |
| 392 | espaco | 329 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 403 | espaco | 330 | } else { |
| 331 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 392 | espaco | 332 | } |
| 333 | } |
||
| 334 | } |
||
| 335 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 336 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 337 | } else { |
||
| 338 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 339 | } |
||
| 340 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 341 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 342 | } |
||
| 343 | extratosExtraidos.add(extratoBancoDTO); |
||
| 379 | espaco | 344 | } |
| 392 | espaco | 345 | } |
| 346 | } |
||
| 347 | } |
||
| 348 | } |
||
| 349 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 350 | return extratosExtraidos; |
||
| 351 | } |
||
| 352 | |||
| 719 | blopes | 353 | private Boolean verificarSeEhDebitoBradesco(String linha) { |
| 354 | return linha.contains("DEBITO REDECARD\"") || linha.contains("CARTAO VISA ELECTRON") || linha.contains("VDA DEBITO"); |
||
| 355 | } |
||
| 356 | |||
| 357 | private Boolean verificarSeEhCreditoBradesco(String linha) { |
||
| 358 | return linha.contains("CRED REDECARD") || |
||
| 359 | linha.contains("CREDITO REDECARD") || |
||
| 360 | linha.contains("AMEX REDECARD") || |
||
| 361 | linha.contains("RECEBIMENTO FORNECEDOR") || |
||
| 362 | linha.contains("ANTECIPACAO REDECARD") || |
||
| 363 | linha.contains("REDE ATECIPACAO") || |
||
| 364 | linha.contains("CIELO MASTER") || |
||
| 365 | linha.contains("CIELO VISA") || |
||
| 366 | linha.contains("VDA CREDITO") || |
||
| 367 | linha.contains("HIPERCARD ANTECIPACAO") || |
||
| 368 | linha.contains("CIELO ANTECIPACAO"); |
||
| 369 | } |
||
| 370 | |||
| 371 | private Boolean verificarSeEhTransferenciaEntreContasBradesco(String linha) { |
||
| 721 | blopes | 372 | return (linha.contains("TRANSFERENCIA PIX") && linha.contains("21.494.821")) || |
| 373 | (linha.contains("TRANSFERENCIA PIX DES") && linha.contains("ESPACO CASE")); |
||
| 719 | blopes | 374 | } |
| 375 | |||
| 376 | private Boolean verificarSeEhTransferenciaBradesco(String linha) { |
||
| 721 | blopes | 377 | return linha.contains("TRANSFERENCIA PIX") && !linha.contains("21.494.821") && !linha.contains("PIX DES"); |
| 719 | blopes | 378 | } |
| 379 | |||
| 392 | espaco | 380 | private List<ExtratoBancoDTO> extrairDadosNubank(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 381 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 382 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 383 | for (String linha : this.getLinhasArquivo()) { |
||
| 384 | String[] dadosSeparados = linha.split(","); |
||
| 385 | if (dadosSeparados.length > 0) { |
||
| 386 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 387 | if (dadosSeparados[0].contains("/")) { |
||
| 388 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 389 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 390 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
||
| 391 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 392 | if (dadosSeparados.length >= 4) { |
||
| 393 | extratoBancoDTO.setDescricao(dadosSeparados[3]); |
||
| 394 | Double valor = 0.0; |
||
| 395 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[1])) { |
||
| 396 | valor = new Double(dadosSeparados[1]); |
||
| 397 | } |
||
| 398 | extratoBancoDTO.setValorTotal(valor); |
||
| 399 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 399 | espaco | 400 | if (extratoBancoDTO.getDescricao().contains("TRANSFER") && |
| 401 | extratoBancoDTO.getDescricao().contains("21.494.821")) { |
||
| 402 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
||
| 403 | } else if (extratoBancoDTO.getDescricao().contains("RECEBIDA PELO PIX") || |
||
| 393 | espaco | 404 | extratoBancoDTO.getDescricao().contains("NCIA RECEBIDA")) { |
| 392 | espaco | 405 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 406 | } else if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 407 | if (valor < 0.0) { |
||
| 399 | espaco | 408 | extratoBancoDTO.setValorTotal(valor); |
| 392 | espaco | 409 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 403 | espaco | 410 | } else { |
| 411 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 392 | espaco | 412 | } |
| 413 | } |
||
| 414 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 415 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 416 | } else { |
||
| 417 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 418 | } |
||
| 419 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 420 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 421 | } |
||
| 422 | extratosExtraidos.add(extratoBancoDTO); |
||
| 380 | espaco | 423 | } |
| 379 | espaco | 424 | } |
| 425 | } |
||
| 426 | } |
||
| 427 | } |
||
| 380 | espaco | 428 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
| 379 | espaco | 429 | return extratosExtraidos; |
| 430 | } |
||
| 431 | |||
| 399 | espaco | 432 | private List<ExtratoBancoDTO> extrairDadosBnb(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 433 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 434 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 435 | for (String linha : this.getLinhasArquivo()) { |
||
| 436 | String[] dadosSeparados = linha.split(";"); |
||
| 437 | if (dadosSeparados.length > 0) { |
||
| 438 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 439 | if (dadosSeparados[0].contains("31")) { |
||
| 440 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 441 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 623 | blopes | 442 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[3].replace("\"", ""))); |
| 399 | espaco | 443 | extratoBancoDTO.setIndicadorCadastrar(false); |
| 444 | if (dadosSeparados.length >= 8) { |
||
| 623 | blopes | 445 | extratoBancoDTO.setDescricao(dadosSeparados[5].replace("\"", "")); |
| 399 | espaco | 446 | Double valor = 0.0; |
| 623 | blopes | 447 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[8].replace("\"", ""))) { |
| 448 | String valorParaAjustes = dadosSeparados[8].replace("\"", ""); |
||
| 449 | valorParaAjustes = valorParaAjustes.replace(" ", "").replace(".", "").replace(",", "."); |
||
| 450 | valor = new Double(valorParaAjustes); |
||
| 399 | espaco | 451 | } |
| 452 | extratoBancoDTO.setValorTotal(valor); |
||
| 453 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 454 | if (extratoBancoDTO.getDescricao().contains("VIA PIX") && |
||
| 455 | extratoBancoDTO.getDescricao().contains("ESPACO CASE")) { |
||
| 456 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
||
| 457 | } else if (extratoBancoDTO.getDescricao().contains("VIA PIX")) { |
||
| 458 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
||
| 459 | } else if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 460 | if (valor < 0.0) { |
||
| 461 | extratoBancoDTO.setValorTotal(valor); |
||
| 462 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 463 | } |
||
| 464 | } |
||
| 465 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 466 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 467 | } else { |
||
| 468 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 469 | } |
||
| 470 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 471 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 472 | } |
||
| 473 | extratosExtraidos.add(extratoBancoDTO); |
||
| 474 | } |
||
| 475 | } |
||
| 476 | } |
||
| 477 | } |
||
| 478 | } |
||
| 479 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 480 | return extratosExtraidos; |
||
| 481 | } |
||
| 482 | |||
| 728 | blopes | 483 | private List<ExtratoBancoDTO> extrairDadosInter(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 719 | blopes | 484 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
| 485 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 486 | for (String linha : this.getLinhasArquivo()) { |
||
| 487 | String[] dadosSeparados = linha.split(";"); |
||
| 728 | blopes | 488 | if (dadosSeparados.length > 3) { |
| 719 | blopes | 489 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
| 728 | blopes | 490 | if (dadosSeparados[0].contains("/")) { |
| 719 | blopes | 491 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
| 492 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 728 | blopes | 493 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
| 719 | blopes | 494 | extratoBancoDTO.setIndicadorCadastrar(false); |
| 728 | blopes | 495 | if (dadosSeparados.length >= 4) { |
| 496 | extratoBancoDTO.setDescricao(dadosSeparados[1] + " - " + dadosSeparados[2]); |
||
| 719 | blopes | 497 | Double valor = 0.0; |
| 728 | blopes | 498 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[3])) { |
| 499 | valor = new Double(dadosSeparados[3].replace(".", "").replace(",", ".")); |
||
| 719 | blopes | 500 | } |
| 501 | extratoBancoDTO.setValorTotal(valor); |
||
| 502 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 728 | blopes | 503 | |
| 729 | blopes | 504 | if (extratoBancoDTO.getDescricao().contains("DÉBITO")) { |
| 728 | blopes | 505 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
| 729 | blopes | 506 | } else if (extratoBancoDTO.getDescricao().contains("ANTECIPAÇÃO")) { |
| 728 | blopes | 507 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 729 | blopes | 508 | } else if (extratoBancoDTO.getDescricao().contains("PIX") && extratoBancoDTO.getDescricao().contains("ESPACO CASE")) { |
| 728 | blopes | 509 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 729 | blopes | 510 | } else if (extratoBancoDTO.getDescricao().contains("PIX RECEBIDO")) { |
| 719 | blopes | 511 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 728 | blopes | 512 | } else { |
| 719 | blopes | 513 | if (valor < 0.0) { |
| 514 | extratoBancoDTO.setValorTotal(valor); |
||
| 515 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 728 | blopes | 516 | } else { |
| 517 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 719 | blopes | 518 | } |
| 728 | blopes | 519 | } |
| 520 | } |
||
| 521 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 522 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 523 | } else { |
||
| 524 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 719 | blopes | 525 | } |
| 728 | blopes | 526 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
| 527 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 528 | } |
||
| 529 | extratosExtraidos.add(extratoBancoDTO); |
||
| 719 | blopes | 530 | } |
| 531 | } |
||
| 532 | } |
||
| 533 | } |
||
| 534 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 535 | return extratosExtraidos; |
||
| 536 | } |
||
| 537 | |||
| 380 | espaco | 538 | private Boolean dadoExtratoBancarioEhNovo(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente, ExtratoBancoDTO extratoBancoNovoDTO) { |
| 539 | List<ExtratoBancoDTO> extratosAnexados = new ArrayList<ExtratoBancoDTO>(); |
||
| 540 | for (ExtratoBancarioArquivoDTO extratoBancarioArquivoDTO : extratosAnexadosAnteriormente) { |
||
| 541 | if (extratoBancarioArquivoDTO.getContaBancariaDTO().getSequencial().equals(extratoBancoNovoDTO.getContaBancariaDTO().getSequencial())) { |
||
| 542 | extratosAnexados.addAll(extratoBancarioArquivoDTO.getDadosExtratoBancoDTO()); |
||
| 543 | break; |
||
| 544 | } |
||
| 545 | } |
||
| 546 | for (ExtratoBancoDTO extratoBancoDTO : extratosAnexados) { |
||
| 547 | if (DataUtils.datasIguais(extratoBancoDTO.getDataLancamento(), extratoBancoNovoDTO.getDataLancamento()) && |
||
| 548 | extratoBancoDTO.getDescricao().equals(extratoBancoNovoDTO.getDescricao()) && |
||
| 549 | extratoBancoDTO.getValorTotal().equals(extratoBancoNovoDTO.getValorTotal())) { |
||
| 550 | return false; |
||
| 551 | } |
||
| 552 | } |
||
| 553 | return true; |
||
| 554 | } |
||
| 555 | |||
| 556 | public void marcarTodosDadosExtrato() { |
||
| 379 | espaco | 557 | if (VerificadorUtil.naoEstaNuloOuVazio(getDadosExtratoBancoDTO())) { |
| 558 | for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) { |
||
| 380 | espaco | 559 | extratoBancoDTO.setIndicadorCadastrar(true); |
| 379 | espaco | 560 | } |
| 561 | } |
||
| 562 | } |
||
| 563 | |||
| 380 | espaco | 564 | public void desmarcarTodosDadosExtrato() { |
| 565 | if (VerificadorUtil.naoEstaNuloOuVazio(getDadosExtratoBancoDTO())) { |
||
| 566 | for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) { |
||
| 567 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 568 | } |
||
| 569 | } |
||
| 570 | } |
||
| 571 | |||
| 296 | espaco | 572 | } |