Rev 728 | 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 | |||
| 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()); |
||
| 150 | if (extratoBancoDTO.getDescricao().contains("DB")) { |
||
| 151 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
||
| 152 | } else if (extratoBancoDTO.getDescricao().contains("CD") || |
||
| 153 | extratoBancoDTO.getDescricao().contains("REDE EL ") || |
||
| 154 | extratoBancoDTO.getDescricao().contains("REDE MC ") || |
||
| 155 | extratoBancoDTO.getDescricao().contains("REDE VS ") || |
||
| 156 | extratoBancoDTO.getDescricao().contains("REDE HC ") || |
||
| 715 | blopes | 157 | extratoBancoDTO.getDescricao().contains("REDE AM ") || |
| 158 | extratoBancoDTO.getDescricao().contains("AT00")) { |
||
| 379 | espaco | 159 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 402 | espaco | 160 | } else if (extratoBancoDTO.getDescricao().contains("TRANSF ESPACO") || |
| 161 | extratoBancoDTO.getDescricao().contains("TRANSF ESPACO")) { |
||
| 399 | espaco | 162 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 163 | } else if ((extratoBancoDTO.getDescricao().contains("TRANSF") || |
||
| 718 | blopes | 164 | extratoBancoDTO.getDescricao().contains("PIX QRS") || |
| 165 | extratoBancoDTO.getDescricao().contains("PIX QRP")) && |
||
| 399 | espaco | 166 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.24318-2") && |
| 167 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.99861-1") && |
||
| 168 | !extratoBancoDTO.getDescricao().contains("TRANSF ESPACO")) { |
||
| 379 | espaco | 169 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 456 | blopes | 170 | } else if (extratoBancoDTO.getDescricao().contains("REND PAGO APLIC AUT")) { |
| 379 | espaco | 171 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
| 403 | espaco | 172 | } else if ((!extratoBancoDTO.getDescricao().contains("SALDO PARCIAL") && |
| 456 | blopes | 173 | !extratoBancoDTO.getDescricao().contains("SALDO FINAL") && |
| 399 | espaco | 174 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.24318-2") && |
| 175 | !extratoBancoDTO.getDescricao().contains("TRANSF 7951.99861-1") && |
||
| 403 | espaco | 176 | !extratoBancoDTO.getDescricao().contains("SISPAG TRIBUTOS") && |
| 456 | blopes | 177 | !extratoBancoDTO.getDescricao().contains("SISPAG FORNECEDORES") && |
| 178 | !extratoBancoDTO.getDescricao().contains("SISPAG PAG") && |
||
| 462 | blopes | 179 | !extratoBancoDTO.getDescricao().contains("SISPAG PAG") && |
| 456 | blopes | 180 | !extratoBancoDTO.getDescricao().contains("RES APLIC AUT") && |
| 462 | blopes | 181 | !extratoBancoDTO.getDescricao().contains("APL APLIC AUT") && |
| 715 | blopes | 182 | !extratoBancoDTO.getDescricao().contains("TBI") && |
| 462 | blopes | 183 | !extratoBancoDTO.getDescricao().contains("SISPAG CONSOLIDADO")) || |
| 403 | espaco | 184 | (extratoBancoDTO.getDescricao().contains("SISPAG SALARIOS"))) { |
| 379 | espaco | 185 | if (VerificadorUtil.naoEstaNulo(valor)) { |
| 186 | if (valor < 0.0) { |
||
| 187 | extratoBancoDTO.setValorTotal(valor * -1); |
||
| 188 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 403 | espaco | 189 | } else { |
| 190 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 379 | espaco | 191 | } |
| 192 | } |
||
| 193 | } |
||
| 392 | espaco | 194 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
| 195 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 196 | } else { |
||
| 197 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 198 | } |
||
| 199 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 200 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 201 | } |
||
| 202 | extratosExtraidos.add(extratoBancoDTO); |
||
| 379 | espaco | 203 | } |
| 392 | espaco | 204 | } |
| 205 | } |
||
| 206 | } |
||
| 207 | } |
||
| 208 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 209 | return extratosExtraidos; |
||
| 210 | } |
||
| 211 | |||
| 396 | espaco | 212 | private List<ExtratoBancoDTO> extrairDadosItauPagamentos(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 213 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 214 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 215 | for (String linha : this.getLinhasArquivo()) { |
||
| 216 | String[] dadosSeparados = linha.split(";"); |
||
| 217 | if (dadosSeparados.length > 4) { |
||
| 218 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 219 | if (dadosSeparados[4].contains("/")) { |
||
| 220 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 221 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 222 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[4])); |
||
| 223 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 224 | if (dadosSeparados.length >= 7) { |
||
| 399 | espaco | 225 | StringBuilder descricao = new StringBuilder(dadosSeparados[2]); |
| 226 | descricao.append(" ("); |
||
| 227 | descricao.append(dadosSeparados[0]); |
||
| 228 | descricao.append(" : "); |
||
| 229 | descricao.append(dadosSeparados[1]); |
||
| 230 | descricao.append(") "); |
||
| 231 | descricao.append(dadosSeparados[3]); |
||
| 232 | extratoBancoDTO.setDescricao(descricao.toString().replace("(- : -)", "").replace(" : -)", ")")); |
||
| 396 | espaco | 233 | Double valor = 0.0; |
| 234 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[5])) { |
||
| 235 | valor = new Double(dadosSeparados[5].replace(".", "").replace(",", ".") ); |
||
| 236 | } |
||
| 407 | espaco | 237 | if (valor < 0.0) { |
| 238 | valor = valor * -1; |
||
| 239 | } |
||
| 396 | espaco | 240 | extratoBancoDTO.setValorTotal(valor); |
| 241 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 242 | if (extratoBancoDTO.getDescricao().contains("PIX") && |
||
| 399 | espaco | 243 | extratoBancoDTO.getDescricao().contains("21.494.821")) { |
| 462 | blopes | 244 | if (valor > 0.0) { |
| 456 | blopes | 245 | valor = valor * -1; |
| 246 | } |
||
| 407 | espaco | 247 | extratoBancoDTO.setValorTotal(valor); |
| 396 | espaco | 248 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 249 | } else if (!extratoBancoDTO.getDescricao().contains("SALDO PARCIAL")) { |
||
| 250 | if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 407 | espaco | 251 | extratoBancoDTO.setValorTotal(valor); |
| 396 | espaco | 252 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 253 | } |
||
| 254 | } |
||
| 462 | blopes | 255 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[6])) { |
| 256 | if (!dadosSeparados[6].equals("Efetuado")) { |
||
| 257 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 258 | } |
||
| 259 | } |
||
| 396 | espaco | 260 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
| 261 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 262 | } else { |
||
| 263 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 264 | } |
||
| 265 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 266 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 267 | } |
||
| 268 | extratosExtraidos.add(extratoBancoDTO); |
||
| 269 | } |
||
| 270 | } |
||
| 271 | } |
||
| 272 | } |
||
| 273 | } |
||
| 274 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 275 | return extratosExtraidos; |
||
| 276 | } |
||
| 277 | |||
| 392 | espaco | 278 | private List<ExtratoBancoDTO> extrairDadosBradesco(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 279 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 280 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 281 | for (String linha : this.getLinhasArquivo()) { |
||
| 282 | String[] dadosSeparados = linha.split(";"); |
||
| 283 | if (dadosSeparados.length > 0) { |
||
| 284 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 285 | if (dadosSeparados[0].contains("/")) { |
||
| 286 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 287 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 288 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
||
| 289 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 290 | if (dadosSeparados.length >= 4) { |
||
| 291 | extratoBancoDTO.setDescricao(dadosSeparados[1]); |
||
| 292 | Double valor = 0.0; |
||
| 293 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[3])) { |
||
| 294 | valor = new Double(dadosSeparados[3].replace(".", "").replace(",", ".")); |
||
| 295 | } else if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[4])) { |
||
| 296 | valor = new Double(dadosSeparados[4].replace(".", "").replace(",", ".")); |
||
| 297 | } |
||
| 298 | extratoBancoDTO.setValorTotal(valor); |
||
| 299 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 719 | blopes | 300 | if (verificarSeEhDebitoBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 301 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
| 719 | blopes | 302 | } else if (verificarSeEhCreditoBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 303 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 719 | blopes | 304 | } else if (verificarSeEhTransferenciaEntreContasBradesco(extratoBancoDTO.getDescricao())) { |
| 396 | espaco | 305 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 719 | blopes | 306 | } else if (verificarSeEhTransferenciaBradesco(extratoBancoDTO.getDescricao())) { |
| 392 | espaco | 307 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 308 | } else if (!extratoBancoDTO.getDescricao().contains("RESGATE INVEST FACIL") && |
||
| 309 | !extratoBancoDTO.getDescricao().contains("APLIC.INVEST FACIL") && |
||
| 310 | !extratoBancoDTO.getDescricao().contains("APLICACAO AUTOMATICA") && |
||
| 456 | blopes | 311 | !extratoBancoDTO.getDescricao().contains("BAIXA AUTOMATICA FUNDOS") && |
| 312 | !extratoBancoDTO.getDescricao().contains("SALDO ANTERIOR")) { |
||
| 392 | espaco | 313 | if (VerificadorUtil.naoEstaNulo(valor)) { |
| 314 | if (valor < 0.0) { |
||
| 399 | espaco | 315 | extratoBancoDTO.setValorTotal(valor); |
| 392 | espaco | 316 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 403 | espaco | 317 | } else { |
| 318 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 392 | espaco | 319 | } |
| 320 | } |
||
| 321 | } |
||
| 322 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 323 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 324 | } else { |
||
| 325 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 326 | } |
||
| 327 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 328 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 329 | } |
||
| 330 | extratosExtraidos.add(extratoBancoDTO); |
||
| 379 | espaco | 331 | } |
| 392 | espaco | 332 | } |
| 333 | } |
||
| 334 | } |
||
| 335 | } |
||
| 336 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 337 | return extratosExtraidos; |
||
| 338 | } |
||
| 339 | |||
| 719 | blopes | 340 | private Boolean verificarSeEhDebitoBradesco(String linha) { |
| 341 | return linha.contains("DEBITO REDECARD\"") || linha.contains("CARTAO VISA ELECTRON") || linha.contains("VDA DEBITO"); |
||
| 342 | } |
||
| 343 | |||
| 344 | private Boolean verificarSeEhCreditoBradesco(String linha) { |
||
| 345 | return linha.contains("CRED REDECARD") || |
||
| 346 | linha.contains("CREDITO REDECARD") || |
||
| 347 | linha.contains("AMEX REDECARD") || |
||
| 348 | linha.contains("RECEBIMENTO FORNECEDOR") || |
||
| 349 | linha.contains("ANTECIPACAO REDECARD") || |
||
| 350 | linha.contains("REDE ATECIPACAO") || |
||
| 351 | linha.contains("CIELO MASTER") || |
||
| 352 | linha.contains("CIELO VISA") || |
||
| 353 | linha.contains("VDA CREDITO") || |
||
| 354 | linha.contains("HIPERCARD ANTECIPACAO") || |
||
| 355 | linha.contains("CIELO ANTECIPACAO"); |
||
| 356 | } |
||
| 357 | |||
| 358 | private Boolean verificarSeEhTransferenciaEntreContasBradesco(String linha) { |
||
| 721 | blopes | 359 | return (linha.contains("TRANSFERENCIA PIX") && linha.contains("21.494.821")) || |
| 360 | (linha.contains("TRANSFERENCIA PIX DES") && linha.contains("ESPACO CASE")); |
||
| 720 | blopes | 361 | // || linha.contains("ESPACO CASE")); |
| 719 | blopes | 362 | } |
| 363 | |||
| 364 | private Boolean verificarSeEhTransferenciaBradesco(String linha) { |
||
| 721 | blopes | 365 | return linha.contains("TRANSFERENCIA PIX") && !linha.contains("21.494.821") && !linha.contains("PIX DES"); |
| 720 | blopes | 366 | // && !linha.contains("ESPACO CASE"); |
| 719 | blopes | 367 | } |
| 368 | |||
| 392 | espaco | 369 | private List<ExtratoBancoDTO> extrairDadosNubank(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 370 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 371 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 372 | for (String linha : this.getLinhasArquivo()) { |
||
| 373 | String[] dadosSeparados = linha.split(","); |
||
| 374 | if (dadosSeparados.length > 0) { |
||
| 375 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 376 | if (dadosSeparados[0].contains("/")) { |
||
| 377 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 378 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 379 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
||
| 380 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 381 | if (dadosSeparados.length >= 4) { |
||
| 382 | extratoBancoDTO.setDescricao(dadosSeparados[3]); |
||
| 383 | Double valor = 0.0; |
||
| 384 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[1])) { |
||
| 385 | valor = new Double(dadosSeparados[1]); |
||
| 386 | } |
||
| 387 | extratoBancoDTO.setValorTotal(valor); |
||
| 388 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 399 | espaco | 389 | if (extratoBancoDTO.getDescricao().contains("TRANSFER") && |
| 390 | extratoBancoDTO.getDescricao().contains("21.494.821")) { |
||
| 391 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
||
| 392 | } else if (extratoBancoDTO.getDescricao().contains("RECEBIDA PELO PIX") || |
||
| 393 | espaco | 393 | extratoBancoDTO.getDescricao().contains("NCIA RECEBIDA")) { |
| 392 | espaco | 394 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 395 | } else if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 396 | if (valor < 0.0) { |
||
| 399 | espaco | 397 | extratoBancoDTO.setValorTotal(valor); |
| 392 | espaco | 398 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
| 403 | espaco | 399 | } else { |
| 400 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 392 | espaco | 401 | } |
| 402 | } |
||
| 403 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 404 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 405 | } else { |
||
| 406 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 407 | } |
||
| 408 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 409 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 410 | } |
||
| 411 | extratosExtraidos.add(extratoBancoDTO); |
||
| 380 | espaco | 412 | } |
| 379 | espaco | 413 | } |
| 414 | } |
||
| 415 | } |
||
| 416 | } |
||
| 380 | espaco | 417 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
| 379 | espaco | 418 | return extratosExtraidos; |
| 419 | } |
||
| 420 | |||
| 399 | espaco | 421 | private List<ExtratoBancoDTO> extrairDadosBnb(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 422 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
||
| 423 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 424 | for (String linha : this.getLinhasArquivo()) { |
||
| 425 | String[] dadosSeparados = linha.split(";"); |
||
| 426 | if (dadosSeparados.length > 0) { |
||
| 427 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
||
| 428 | if (dadosSeparados[0].contains("31")) { |
||
| 429 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
||
| 430 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 623 | blopes | 431 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[3].replace("\"", ""))); |
| 399 | espaco | 432 | extratoBancoDTO.setIndicadorCadastrar(false); |
| 433 | if (dadosSeparados.length >= 8) { |
||
| 623 | blopes | 434 | extratoBancoDTO.setDescricao(dadosSeparados[5].replace("\"", "")); |
| 399 | espaco | 435 | Double valor = 0.0; |
| 623 | blopes | 436 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[8].replace("\"", ""))) { |
| 437 | String valorParaAjustes = dadosSeparados[8].replace("\"", ""); |
||
| 438 | valorParaAjustes = valorParaAjustes.replace(" ", "").replace(".", "").replace(",", "."); |
||
| 439 | valor = new Double(valorParaAjustes); |
||
| 399 | espaco | 440 | } |
| 441 | extratoBancoDTO.setValorTotal(valor); |
||
| 442 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 443 | if (extratoBancoDTO.getDescricao().contains("VIA PIX") && |
||
| 444 | extratoBancoDTO.getDescricao().contains("ESPACO CASE")) { |
||
| 445 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
||
| 446 | } else if (extratoBancoDTO.getDescricao().contains("VIA PIX")) { |
||
| 447 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
||
| 448 | } else if (VerificadorUtil.naoEstaNulo(valor)) { |
||
| 449 | if (valor < 0.0) { |
||
| 450 | extratoBancoDTO.setValorTotal(valor); |
||
| 451 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 452 | } |
||
| 453 | } |
||
| 454 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 455 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 456 | } else { |
||
| 457 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 458 | } |
||
| 459 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
||
| 460 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 461 | } |
||
| 462 | extratosExtraidos.add(extratoBancoDTO); |
||
| 463 | } |
||
| 464 | } |
||
| 465 | } |
||
| 466 | } |
||
| 467 | } |
||
| 468 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 469 | return extratosExtraidos; |
||
| 470 | } |
||
| 471 | |||
| 728 | blopes | 472 | private List<ExtratoBancoDTO> extrairDadosInter(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente) { |
| 719 | blopes | 473 | List<ExtratoBancoDTO> extratosExtraidos = new ArrayList<ExtratoBancoDTO>(); |
| 474 | List<ExtratoBancoDTO> extratosExtraidosSemCategoria = new ArrayList<ExtratoBancoDTO>(); |
||
| 475 | for (String linha : this.getLinhasArquivo()) { |
||
| 476 | String[] dadosSeparados = linha.split(";"); |
||
| 728 | blopes | 477 | if (dadosSeparados.length > 3) { |
| 719 | blopes | 478 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[0])) { |
| 728 | blopes | 479 | if (dadosSeparados[0].contains("/")) { |
| 719 | blopes | 480 | ExtratoBancoDTO extratoBancoDTO = new ExtratoBancoDTO(); |
| 481 | extratoBancoDTO.setContaBancariaDTO(this.getContaBancariaDTO()); |
||
| 728 | blopes | 482 | extratoBancoDTO.setDataLancamento(DataUtil.retornarDataApartirString("dd/MM/yyyy", dadosSeparados[0])); |
| 719 | blopes | 483 | extratoBancoDTO.setIndicadorCadastrar(false); |
| 728 | blopes | 484 | if (dadosSeparados.length >= 4) { |
| 485 | extratoBancoDTO.setDescricao(dadosSeparados[1] + " - " + dadosSeparados[2]); |
||
| 719 | blopes | 486 | Double valor = 0.0; |
| 728 | blopes | 487 | if (VerificadorUtil.naoEstaNuloOuVazio(dadosSeparados[3])) { |
| 488 | valor = new Double(dadosSeparados[3].replace(".", "").replace(",", ".")); |
||
| 719 | blopes | 489 | } |
| 490 | extratoBancoDTO.setValorTotal(valor); |
||
| 491 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.SEM_CATEGORIA.getValor()); |
||
| 728 | blopes | 492 | |
| 729 | blopes | 493 | if (extratoBancoDTO.getDescricao().contains("DÉBITO")) { |
| 728 | blopes | 494 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.DEBITOS.getValor()); |
| 729 | blopes | 495 | } else if (extratoBancoDTO.getDescricao().contains("ANTECIPAÇÃO")) { |
| 728 | blopes | 496 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.CREDITOS.getValor()); |
| 729 | blopes | 497 | } else if (extratoBancoDTO.getDescricao().contains("PIX") && extratoBancoDTO.getDescricao().contains("ESPACO CASE")) { |
| 728 | blopes | 498 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS_ENTRE_CONTAS.getValor()); |
| 729 | blopes | 499 | } else if (extratoBancoDTO.getDescricao().contains("PIX RECEBIDO")) { |
| 719 | blopes | 500 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.TRANSFERENCIAS.getValor()); |
| 728 | blopes | 501 | } else { |
| 719 | blopes | 502 | if (valor < 0.0) { |
| 503 | extratoBancoDTO.setValorTotal(valor); |
||
| 504 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.PAGAMENTO.getValor()); |
||
| 728 | blopes | 505 | } else { |
| 506 | extratoBancoDTO.setTipoExtratoBanco(TipoExtratoBanco.OUTROS.getValor()); |
||
| 719 | blopes | 507 | } |
| 728 | blopes | 508 | } |
| 509 | } |
||
| 510 | if (!extratoBancoDTO.getTipoExtratoBanco().equals(TipoExtratoBanco.SEM_CATEGORIA.getValor())) { |
||
| 511 | extratoBancoDTO.setIndicadorCadastrar(true); |
||
| 512 | } else { |
||
| 513 | extratosExtraidosSemCategoria.add(extratoBancoDTO); |
||
| 719 | blopes | 514 | } |
| 728 | blopes | 515 | if (!dadoExtratoBancarioEhNovo(extratosAnexadosAnteriormente, extratoBancoDTO)) { |
| 516 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 517 | } |
||
| 518 | extratosExtraidos.add(extratoBancoDTO); |
||
| 719 | blopes | 519 | } |
| 520 | } |
||
| 521 | } |
||
| 522 | } |
||
| 523 | setDadosExtratoBancoSemCategoriaDTO(extratosExtraidosSemCategoria); |
||
| 524 | return extratosExtraidos; |
||
| 525 | } |
||
| 526 | |||
| 380 | espaco | 527 | private Boolean dadoExtratoBancarioEhNovo(List<ExtratoBancarioArquivoDTO> extratosAnexadosAnteriormente, ExtratoBancoDTO extratoBancoNovoDTO) { |
| 528 | List<ExtratoBancoDTO> extratosAnexados = new ArrayList<ExtratoBancoDTO>(); |
||
| 529 | for (ExtratoBancarioArquivoDTO extratoBancarioArquivoDTO : extratosAnexadosAnteriormente) { |
||
| 530 | if (extratoBancarioArquivoDTO.getContaBancariaDTO().getSequencial().equals(extratoBancoNovoDTO.getContaBancariaDTO().getSequencial())) { |
||
| 531 | extratosAnexados.addAll(extratoBancarioArquivoDTO.getDadosExtratoBancoDTO()); |
||
| 532 | break; |
||
| 533 | } |
||
| 534 | } |
||
| 535 | for (ExtratoBancoDTO extratoBancoDTO : extratosAnexados) { |
||
| 536 | if (DataUtils.datasIguais(extratoBancoDTO.getDataLancamento(), extratoBancoNovoDTO.getDataLancamento()) && |
||
| 537 | extratoBancoDTO.getDescricao().equals(extratoBancoNovoDTO.getDescricao()) && |
||
| 538 | extratoBancoDTO.getValorTotal().equals(extratoBancoNovoDTO.getValorTotal())) { |
||
| 539 | return false; |
||
| 540 | } |
||
| 541 | } |
||
| 542 | return true; |
||
| 543 | } |
||
| 544 | |||
| 545 | public void marcarTodosDadosExtrato() { |
||
| 379 | espaco | 546 | if (VerificadorUtil.naoEstaNuloOuVazio(getDadosExtratoBancoDTO())) { |
| 547 | for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) { |
||
| 380 | espaco | 548 | extratoBancoDTO.setIndicadorCadastrar(true); |
| 379 | espaco | 549 | } |
| 550 | } |
||
| 551 | } |
||
| 552 | |||
| 380 | espaco | 553 | public void desmarcarTodosDadosExtrato() { |
| 554 | if (VerificadorUtil.naoEstaNuloOuVazio(getDadosExtratoBancoDTO())) { |
||
| 555 | for (ExtratoBancoDTO extratoBancoDTO : getDadosExtratoBancoDTO()) { |
||
| 556 | extratoBancoDTO.setIndicadorCadastrar(false); |
||
| 557 | } |
||
| 558 | } |
||
| 559 | } |
||
| 560 | |||
| 296 | espaco | 561 | } |