From aa6b4fe6c069420bfbb36251dc7921a43df4ad9f Mon Sep 17 00:00:00 2001 From: Heudon Date: Thu, 19 Feb 2015 11:48:13 -0300 Subject: [PATCH] Added trim function on values while processing them --- .../Cnab150/Processor/CNAB150Processor.php | 62 ++++---- .../Cnab240/Processor/CNAB240Processor.php | 148 +++++++++--------- .../Processor/AbstractCNAB400Processor.php | 138 ++++++++-------- .../Processor/CNAB400Conv6Processor.php | 34 ++-- .../Processor/CNAB400Conv7Processor.php | 26 +-- 5 files changed, 204 insertions(+), 204 deletions(-) mode change 100644 => 100755 src/Cnab/Cnab150/Processor/CNAB150Processor.php diff --git a/src/Cnab/Cnab150/Processor/CNAB150Processor.php b/src/Cnab/Cnab150/Processor/CNAB150Processor.php old mode 100644 new mode 100755 index 5893db7..03cd465 --- a/src/Cnab/Cnab150/Processor/CNAB150Processor.php +++ b/src/Cnab/Cnab150/Processor/CNAB150Processor.php @@ -46,25 +46,25 @@ protected function processarHeaderArquivo($linha) $header = $this->createHeader(); $header - ->setRegistro($linha->substr(1, 1)) - ->setRemessa($linha->substr(2, 1)) - ->setConvenio($linha->substr(3, 20)); + ->setRegistro($linha->substr(1, 1)->trim()) + ->setRemessa($linha->substr(2, 1)->trim()) + ->setConvenio($linha->substr(3, 20)->trim()); $empresa = new Empresa(); $empresa - ->setNome($linha->substr(23, 20)); + ->setNome($linha->substr(23, 20)->trim()); $banco = new Banco(); $banco - ->setCod($linha->substr(43, 3)) - ->setNome($linha->substr(46, 20)); + ->setCod($linha->substr(43, 3)->trim()) + ->setNome($linha->substr(46, 20)->trim()); $header - ->setDataGeracao($this->createDateTime($linha->substr(66, 8), "Ymd")) - ->setSequencialRet($linha->substr(74, 6)) - ->setVersaoLayout($linha->substr(80, 2)) - ->setCodBarras($linha->substr(82, 17)) - ->setFiller($linha->substr(99, 52)); + ->setDataGeracao($this->createDateTime($linha->substr(66, 8)->trim(), "Ymd")) + ->setSequencialRet($linha->substr(74, 6)->trim()) + ->setVersaoLayout($linha->substr(80, 2)->trim()) + ->setCodBarras($linha->substr(82, 17)->trim()) + ->setFiller($linha->substr(99, 52)->trim()); $cedente = new Cedente(); $cedente->setBanco($banco); @@ -81,24 +81,24 @@ protected function processarDetalhe($linha) $detail = new Detail(); $detail - ->setRegistro($linha->substr(1, 1)) - ->setDataPagamento($this->createDateTime($linha->substr(22, 8), "Ymd")) - ->setDataCredito($this->createDateTime($linha->substr(30, 8), "Ymd")) - ->setCodBarras($linha->substr(38, 44)) - ->setValorRecebido($linha->substr(82, 10)) - ->setValorTarifa($linha->substr(94, 5)) - ->setNumeroSequencial($linha->substr(101, 8)) - ->setCodigoAgenciaArrecadadora($linha->substr(109, 8)) - ->setFormaArrecadacao($linha->substr(117, 1)) - ->setNumeroAutenticacao($linha->substr(118, 23)) - ->setFormaPagamento($linha->substr(141, 1)) - ->setFiller($linha->substr(142, 9)); + ->setRegistro($linha->substr(1, 1)->trim()) + ->setDataPagamento($this->createDateTime($linha->substr(22, 8)->trim(), "Ymd")) + ->setDataCredito($this->createDateTime($linha->substr(30, 8)->trim(), "Ymd")) + ->setCodBarras($linha->substr(38, 44)->trim()) + ->setValorRecebido($linha->substr(82, 10)->trim()) + ->setValorTarifa($linha->substr(94, 5)->trim()) + ->setNumeroSequencial($linha->substr(101, 8)->trim()) + ->setCodigoAgenciaArrecadadora($linha->substr(109, 8)->trim()) + ->setFormaArrecadacao($linha->substr(117, 1)->trim()) + ->setNumeroAutenticacao($linha->substr(118, 23)->trim()) + ->setFormaPagamento($linha->substr(141, 1)->trim()) + ->setFiller($linha->substr(142, 9)->trim()); $banco = new Banco(); $banco - ->setAgencia($linha->substr(2, 4)) - ->setConta($linha->substr(6, 14)) - ->setDvConta($linha->substr(20, 1)); + ->setAgencia($linha->substr(2, 4)->trim()) + ->setConta($linha->substr(6, 14)->trim()) + ->setDvConta($linha->substr(20, 1)->trim()); $cedente = new Cedente(); $cedente->setBanco($banco); @@ -113,10 +113,10 @@ protected function processarTrailerArquivo($linha) $trailer = new Trailer(); $trailer - ->setRegistro($linha->substr(1, 1)) - ->setQuantidadeRegistros($linha->substr(2, 6)) - ->setValorTotal($linha->substr(8, 17)) - ->setFiller($linha->substr(25, 126)); + ->setRegistro($linha->substr(1, 1)->trim()) + ->setQuantidadeRegistros($linha->substr(2, 6)->trim()) + ->setValorTotal($linha->substr(8, 17)->trim()) + ->setFiller($linha->substr(25, 126)->trim()); return $trailer; } @@ -134,7 +134,7 @@ public function processarLinha($numLn, Stringy $linha) //e assim, ter os valores_posição_campos exatamente //como no manual CNAB150 $linha = $linha->insert(" ", 0); - $tipoLn = $linha->substr(1, 1); + $tipoLn = $linha->substr(1, 1)->trim(); $this->needToCreateLote = false; if ((string)$tipoLn == self::HEADER_ARQUIVO) { diff --git a/src/Cnab/Cnab240/Processor/CNAB240Processor.php b/src/Cnab/Cnab240/Processor/CNAB240Processor.php index 7d59cf8..f401219 100644 --- a/src/Cnab/Cnab240/Processor/CNAB240Processor.php +++ b/src/Cnab/Cnab240/Processor/CNAB240Processor.php @@ -61,36 +61,36 @@ protected function processarHeaderArquivo($linha) $header = $this->createHeader(); //X = ALFANUMÉRICO 9 = NUMÉRICO V = VÍRGULA DECIMAL ASSUMIDA $header - ->setRegistro($linha->substr(8, 1)) - ->setLote($linha->substr(4, 4)) - ->addCnab($linha->substr(9, 9)) - ->addCnab($linha->substr(133, 10)) - ->addCnab($linha->substr(212, 29)) - ->setConvenio($linha->substr(33, 20)) - ->setCodArquivo($linha->substr(143, 1)); - - $header->setDataGeracao($this->createDateTime($linha->substr(144, 8) . " " . $linha->substr(152, 6))) - ->setSequencialRet($linha->substr(158, 6)) - ->setVersaoLayout($linha->substr(164, 3)) - ->setDensidade($linha->substr(167, 5)); + ->setRegistro($linha->substr(8, 1)->trim()) + ->setLote($linha->substr(4, 4)->trim()) + ->addCnab($linha->substr(9, 9)->trim()) + ->addCnab($linha->substr(133, 10)->trim()) + ->addCnab($linha->substr(212, 29)->trim()) + ->setConvenio($linha->substr(33, 20)->trim()) + ->setCodArquivo($linha->substr(143, 1)->trim()); + + $header->setDataGeracao($this->createDateTime($linha->substr(144, 8)->trim() . " " . $linha->substr(152, 6)->trim())) + ->setSequencialRet($linha->substr(158, 6)->trim()) + ->setVersaoLayout($linha->substr(164, 3)->trim()) + ->setDensidade($linha->substr(167, 5)->trim()); $empresa = new Empresa(); $empresa - ->setTipoInscricao($linha->substr(18, 1)) - ->setNumInscricao($linha->substr(19, 14)) - ->setNome($linha->substr(73, 30)) - ->addReservado($linha->substr(192, 20)); + ->setTipoInscricao($linha->substr(18, 1)->trim()) + ->setNumInscricao($linha->substr(19, 14)->trim()) + ->setNome($linha->substr(73, 30)->trim()) + ->addReservado($linha->substr(192, 20)->trim()); $banco = new Banco(); $banco - ->setCod($linha->substr(1, 3)) - ->setNome($linha->substr(103, 30)) - ->setAgencia($linha->substr(53, 5)) - ->setDvAgencia($linha->substr(58, 1)) - ->setConta($linha->substr(59, 12)) - ->setDvConta($linha->substr(71, 1)) - ->setDvAgenciaConta($linha->substr(72, 1)) - ->addReservado($linha->substr(172, 20)); + ->setCod($linha->substr(1, 3)->trim()) + ->setNome($linha->substr(103, 30)->trim()) + ->setAgencia($linha->substr(53, 5)->trim()) + ->setDvAgencia($linha->substr(58, 1)->trim()) + ->setConta($linha->substr(59, 12)->trim()) + ->setDvConta($linha->substr(71, 1)->trim()) + ->setDvAgenciaConta($linha->substr(72, 1)->trim()) + ->addReservado($linha->substr(172, 20)->trim()); $cedente = new Cedente(); @@ -108,43 +108,43 @@ protected function processarHeaderLote($linha) $header = new HeaderLote(); $header - ->setRegistro($linha->substr(8, 1)) - ->setLote($linha->substr(4, 4)) - ->setOperacao($linha->substr(9, 1)) - ->setServico($linha->substr(10, 2)) - ->setFormaLancamento($linha->substr(12, 2)) - ->setVersaoLayout($linha->substr(14, 3)) - ->addCnab($linha->substr(17, 1)) - ->addCnab($linha->substr(223, 8)) - ->addOcorrencia($linha->substr(231, 10)) - ->setConvenio($linha->substr(33, 20)) - ->addMensagem($linha->substr(103, 40)); + ->setRegistro($linha->substr(8, 1)->trim()) + ->setLote($linha->substr(4, 4)->trim()) + ->setOperacao($linha->substr(9, 1)->trim()) + ->setServico($linha->substr(10, 2)->trim()) + ->setFormaLancamento($linha->substr(12, 2)->trim()) + ->setVersaoLayout($linha->substr(14, 3)->trim()) + ->addCnab($linha->substr(17, 1)->trim()) + ->addCnab($linha->substr(223, 8)->trim()) + ->addOcorrencia($linha->substr(231, 10)->trim()) + ->setConvenio($linha->substr(33, 20)->trim()) + ->addMensagem($linha->substr(103, 40)->trim()); $endereco = new Endereco(); $endereco - ->setLogradourdo($linha->substr(143, 30)) - ->setNumero($linha->substr(173, 5)) - ->setComplemento($linha->substr(178, 15)) - ->setCidade($linha->substr(193, 20)) - ->setCep($linha->substr(213, 5)) - ->setComplementoCep($linha->substr(218, 3)) - ->setEstado($linha->substr(221, 2)); + ->setLogradourdo($linha->substr(143, 30)->trim()) + ->setNumero($linha->substr(173, 5)->trim()) + ->setComplemento($linha->substr(178, 15)->trim()) + ->setCidade($linha->substr(193, 20)->trim()) + ->setCep($linha->substr(213, 5)->trim()) + ->setComplementoCep($linha->substr(218, 3)->trim()) + ->setEstado($linha->substr(221, 2)->trim()); $empresa = new Empresa(); $empresa ->setEndereco($endereco) - ->setTipoInscricao($linha->substr(18, 1)) - ->setNumInscricao($linha->substr(19, 14)) - ->setNome($linha->substr(73, 30)); + ->setTipoInscricao($linha->substr(18, 1)->trim()) + ->setNumInscricao($linha->substr(19, 14)->trim()) + ->setNome($linha->substr(73, 30)->trim()); $banco = new Banco(); $banco - ->setCod($linha->substr(1, 3)) - ->setNome($linha->substr(103, 30)) - ->setAgencia($linha->substr(53, 5)) - ->setDvAgencia($linha->substr(58, 1)) - ->setConta($linha->substr(59, 12)) - ->setDvConta($linha->substr(71, 1)) - ->setDvAgenciaConta($linha->substr(72, 1)); + ->setCod($linha->substr(1, 3)->trim()) + ->setNome($linha->substr(103, 30)->trim()) + ->setAgencia($linha->substr(53, 5)->trim()) + ->setDvAgencia($linha->substr(58, 1)->trim()) + ->setConta($linha->substr(59, 12)->trim()) + ->setDvConta($linha->substr(71, 1)->trim()) + ->setDvAgenciaConta($linha->substr(72, 1)->trim()); $cedente = new Cedente(); @@ -160,7 +160,7 @@ protected function processarHeaderLote($linha) protected function processarDetalhe($linha) { $factory = new \Umbrella\Ya\RetornoBoleto\Cnab\Cnab240\Segmento\SegmentoFactory(); - $segmento = $linha->substr(14, 1); + $segmento = $linha->substr(14, 1)->trim(); return $factory->getDetail($segmento)->buildDetail($linha); } @@ -170,23 +170,23 @@ protected function processarTrailerLote($linha) $banco = new Banco(); $banco - ->setCod($linha->substr(1, 3)); + ->setCod($linha->substr(1, 3)->trim()); $cedente = new Cedente(); $cedente - ->setNome($linha->substr(62, 30)) + ->setNome($linha->substr(62, 30)->trim()) ->setBanco($banco); $trailer - ->setLote($linha->substr(4, 4)) - ->setRegistro($linha->substr(8, 1)) - ->addCnab($linha->substr(9, 9)) - ->setQuantidadeRegistros($linha->substr(18, 6)) - ->setValor($linha->substr(24, 16)) - ->setQuantidadeMoedas($linha->substr(42, 13)) - ->setNumAvisoDepbito($linha->substr(60, 6)) - ->addCnab($linha->substr(66, 165)) - ->addOcorrencia($linha->substr(231, 10)); + ->setLote($linha->substr(4, 4)->trim()) + ->setRegistro($linha->substr(8, 1)->trim()) + ->addCnab($linha->substr(9, 9)->trim()) + ->setQuantidadeRegistros($linha->substr(18, 6)->trim()) + ->setValor($linha->substr(24, 16)->trim()) + ->setQuantidadeMoedas($linha->substr(42, 13)->trim()) + ->setNumAvisoDepbito($linha->substr(60, 6)->trim()) + ->addCnab($linha->substr(66, 165)->trim()) + ->addOcorrencia($linha->substr(231, 10)->trim()); return $trailer; } @@ -197,21 +197,21 @@ protected function processarTrailerArquivo($linha) $banco = new Banco(); $banco - ->setCod($linha->substr(1, 3)); + ->setCod($linha->substr(1, 3)->trim()); $cedente = new Cedente(); $cedente - ->setNome($linha->substr(62, 30)) + ->setNome($linha->substr(62, 30)->trim()) ->setBanco($banco); $trailer - ->setLote($linha->substr(4, 4)) - ->setRegistro($linha->substr(8, 1)) - ->addCnab($linha->substr(9, 9)) - ->setQuantidadeLotes($linha->substr(18, 6)) - ->setQuantidadeRegistros($linha->substr(24, 6)) - ->setQuantidadeContasConc($linha->substr(30, 6)) - ->addCnab($linha->substr(36, 205)); + ->setLote($linha->substr(4, 4)->trim()) + ->setRegistro($linha->substr(8, 1)->trim()) + ->addCnab($linha->substr(9, 9)->trim()) + ->setQuantidadeLotes($linha->substr(18, 6)->trim()) + ->setQuantidadeRegistros($linha->substr(24, 6)->trim()) + ->setQuantidadeContasConc($linha->substr(30, 6)->trim()) + ->addCnab($linha->substr(36, 205)->trim()); return $trailer; } @@ -229,7 +229,7 @@ public function processarLinha($numLn, Stringy $linha) //e assim, ter os valores_posição_campos exatamente //como no manual CNAB240 $linha = $linha->insert(" ", 0); - $tipoLn = $linha->substr(8, 1); + $tipoLn = $linha->substr(8, 1)->trim(); $this->needToCreateLote = false; if ((string)$tipoLn == CNAB240Processor::HEADER_ARQUIVO) { diff --git a/src/Cnab/Cnab400/Convenio/Processor/AbstractCNAB400Processor.php b/src/Cnab/Cnab400/Convenio/Processor/AbstractCNAB400Processor.php index 2d77d2c..95cd50c 100644 --- a/src/Cnab/Cnab400/Convenio/Processor/AbstractCNAB400Processor.php +++ b/src/Cnab/Cnab400/Convenio/Processor/AbstractCNAB400Processor.php @@ -64,15 +64,15 @@ protected function processarHeaderArquivo($linha) { $header = $this->createHeader(); //X = ALFANUMÉRICO 9 = NUMÉRICO V = VÍRGULA DECIMAL ASSUMIDA - $header->setRegistro($linha->substr(1, 1)); - $header->setTipoOperacao($linha->substr(2, 1)); - $header->setIdTipoOperacao($linha->substr(3, 7)); - $header->setIdTipoServico($linha->substr(10, 2)); - $header->setTipoServico($linha->substr(12, 8)); - $header->addComplemento($linha->substr(20, 7)); + $header->setRegistro($linha->substr(1, 1)->trim()); + $header->setTipoOperacao($linha->substr(2, 1)->trim()); + $header->setIdTipoOperacao($linha->substr(3, 7)->trim()); + $header->setIdTipoServico($linha->substr(10, 2)->trim()); + $header->setTipoServico($linha->substr(12, 8)->trim()); + $header->addComplemento($linha->substr(20, 7)->trim()); $bancoArray = array(); - if (!preg_match('#^([\d]{3})(.+)#', $linha->substr(77, 18), $bancoArray)) { + if (!preg_match('#^([\d]{3})(.+)#', $linha->substr(77, 18)->trim(), $bancoArray)) { throw new InvalidArgumentException('Banco invalido'); } @@ -80,19 +80,19 @@ protected function processarHeaderArquivo($linha) $banco ->setCod($bancoArray[1]) ->setNome($bancoArray[2]) - ->setAgencia($linha->substr(27, 4)) - ->setDvAgencia($linha->substr(31, 1)) - ->setConta($linha->substr(32, 8)) - ->setDvConta($linha->substr(40, 1)); + ->setAgencia($linha->substr(27, 4)->trim()) + ->setDvAgencia($linha->substr(31, 1)->trim()) + ->setConta($linha->substr(32, 8)->trim()) + ->setDvConta($linha->substr(40, 1)->trim()); $cedente = new Cedente(); $cedente->setBanco($banco) - ->setNome($linha->substr(47, 30)); + ->setNome($linha->substr(47, 30)->trim()); $header->setCedente($cedente); - $header->setDataGravacao($this->createDate($linha->substr(95, 6))); - $header->setSequencialReg($linha->substr(395, 6)); + $header->setDataGravacao($this->createDate($linha->substr(95, 6)->trim())); + $header->setSequencialReg($linha->substr(395, 6)->trim()); return $header; } @@ -108,47 +108,47 @@ protected function processarDetalhe($linha) $bancoEmissor = new Banco(); $bancoEmissor - ->setAgencia($linha->substr(22, 1)) - ->setDvAgencia($linha->substr(31, 1)) - ->setConta($linha->substr(23, 8)) - ->setDvConta($linha->substr(31, 1)); + ->setAgencia($linha->substr(22, 1)->trim()) + ->setDvAgencia($linha->substr(31, 1)->trim()) + ->setConta($linha->substr(23, 8)->trim()) + ->setDvConta($linha->substr(31, 1)->trim()); $bancoRecebedor = new Banco(); $bancoRecebedor - ->setCod($linha->substr(166, 3)) - ->setAgencia($linha->substr(169, 4)) - ->setDvAgencia($linha->substr(173, 1)); + ->setCod($linha->substr(166, 3)->trim()) + ->setAgencia($linha->substr(169, 4)->trim()) + ->setDvAgencia($linha->substr(173, 1)->trim()); $detail ->setBancoEmissor($bancoEmissor) ->setBancoRecebedor($bancoRecebedor) - ->setRegistro($linha->substr(1, 1)) - ->setTaxaDesconto($this->formataNumero($linha->substr(96, 5))) - ->setTaxaIof($linha->substr(101, 5)) - ->setCateira($linha->substr(107, 2)) - ->setComando($linha->substr(109, 2)) - ->setDataOcorrencia($this->createDate($linha->substr(111, 6))) - ->setNumTitulo($linha->substr(117, 10)) - ->setDataVencimento($this->createDate($linha->substr(147, 6))) - ->setValor($this->formataNumero($linha->substr(153, 13))) - ->setEspecie($linha->substr(174, 2)) - ->setDataCredito($this->createDate($linha->substr(176, 6))) - ->setValorTarifa($this->formataNumero($linha->substr(182, 7))) - ->setOutrasDespesas($this->formataNumero($linha->substr(189, 13))) - ->setJurosDesconto($this->formataNumero($linha->substr(202, 13))) - ->setIofDesconto($this->formataNumero($linha->substr(215, 13))) - ->setValorAbatimento($this->formataNumero($linha->substr(228, 13))) - ->setDescontoConcedido($this->formataNumero($linha->substr(241, 13))) - ->setValorRecebido($this->formataNumero($linha->substr(254, 13))) - ->setJurosMora($this->formataNumero($linha->substr(267, 13))) - ->setOutrosRecebimentos($this->formataNumero($linha->substr(280, 13))) - ->setAbatimentoNaoAprovado($this->formataNumero($linha->substr(293, 13))) - ->setValorLancamento($this->formataNumero($linha->substr(306, 13))) - ->setIndicativoDc($linha->substr(319, 1)) - ->setIndicadorValor($linha->substr(320, 1)) - ->setValorAjuste($this->formataNumero($linha->substr(321, 12))) - ->setCanalPagTitulo($linha->substr(393, 2)) - ->setSequencial($linha->substr(395, 6)); + ->setRegistro($linha->substr(1, 1)->trim()) + ->setTaxaDesconto($this->formataNumero($linha->substr(96, 5)->trim())) + ->setTaxaIof($linha->substr(101, 5)->trim()) + ->setCateira($linha->substr(107, 2)->trim()) + ->setComando($linha->substr(109, 2)->trim()) + ->setDataOcorrencia($this->createDate($linha->substr(111, 6)->trim())) + ->setNumTitulo($linha->substr(117, 10)->trim()) + ->setDataVencimento($this->createDate($linha->substr(147, 6)->trim())) + ->setValor($this->formataNumero($linha->substr(153, 13)->trim())) + ->setEspecie($linha->substr(174, 2)->trim()) + ->setDataCredito($this->createDate($linha->substr(176, 6)->trim())) + ->setValorTarifa($this->formataNumero($linha->substr(182, 7)->trim())) + ->setOutrasDespesas($this->formataNumero($linha->substr(189, 13)->trim())) + ->setJurosDesconto($this->formataNumero($linha->substr(202, 13)->trim())) + ->setIofDesconto($this->formataNumero($linha->substr(215, 13)->trim())) + ->setValorAbatimento($this->formataNumero($linha->substr(228, 13)->trim())) + ->setDescontoConcedido($this->formataNumero($linha->substr(241, 13)->trim())) + ->setValorRecebido($this->formataNumero($linha->substr(254, 13)->trim())) + ->setJurosMora($this->formataNumero($linha->substr(267, 13)->trim())) + ->setOutrosRecebimentos($this->formataNumero($linha->substr(280, 13)->trim())) + ->setAbatimentoNaoAprovado($this->formataNumero($linha->substr(293, 13)->trim())) + ->setValorLancamento($this->formataNumero($linha->substr(306, 13)->trim())) + ->setIndicativoDc($linha->substr(319, 1)->trim()) + ->setIndicadorValor($linha->substr(320, 1)->trim()) + ->setValorAjuste($this->formataNumero($linha->substr(321, 12)->trim())) + ->setCanalPagTitulo($linha->substr(393, 2)->trim()) + ->setSequencial($linha->substr(395, 6)->trim()); return $detail; } @@ -163,44 +163,44 @@ protected function processarTrailerArquivo($linha) $trailer = $this->createTrailer(); $banco = new Banco(); - $banco->setCod($linha->substr(5, 3)); + $banco->setCod($linha->substr(5, 3)->trim()); $simples = new Cobranca(); - $simples->setQtdTitulos($linha->substr(18, 8)) - ->setValorTotal($this->formataNumero($linha->substr(26, 14))) - ->setNumAviso($linha->substr(40, 8)); + $simples->setQtdTitulos($linha->substr(18, 8)->trim()) + ->setValorTotal($this->formataNumero($linha->substr(26, 14)->trim())) + ->setNumAviso($linha->substr(40, 8)->trim()); $vinculada = new Cobranca(); - $vinculada->setQtdTitulos($linha->substr(58, 8)) - ->setValorTotal($this->formataNumero($linha->substr(66, 14))) - ->setNumAviso($linha->substr(80, 8)); + $vinculada->setQtdTitulos($linha->substr(58, 8)->trim()) + ->setValorTotal($this->formataNumero($linha->substr(66, 14)->trim())) + ->setNumAviso($linha->substr(80, 8)->trim()); $caucionada = new Cobranca(); - $caucionada->setQtdTitulos($linha->substr(98, 8)) - ->setValorTotal($this->formataNumero($linha->substr(106, 14))) - ->setNumAviso($linha->substr(120, 8)); + $caucionada->setQtdTitulos($linha->substr(98, 8)->trim()) + ->setValorTotal($this->formataNumero($linha->substr(106, 14)->trim())) + ->setNumAviso($linha->substr(120, 8)->trim()); $descontada = new Cobranca(); - $descontada->setQtdTitulos($linha->substr(138, 8)) - ->setValorTotal($this->formataNumero($linha->substr(146, 14))) - ->setNumAviso($linha->substr(160, 8)); + $descontada->setQtdTitulos($linha->substr(138, 8)->trim()) + ->setValorTotal($this->formataNumero($linha->substr(146, 14)->trim())) + ->setNumAviso($linha->substr(160, 8)->trim()); $vendor = new Cobranca(); - $vendor->setQtdTitulos($linha->substr(218, 8)) - ->setValorTotal($this->formataNumero($linha->substr(226, 14))) - ->setNumAviso($linha->substr(240, 8)); + $vendor->setQtdTitulos($linha->substr(218, 8)->trim()) + ->setValorTotal($this->formataNumero($linha->substr(226, 14)->trim())) + ->setNumAviso($linha->substr(240, 8)->trim()); $trailer ->setBanco($banco) - ->setRegistro($linha->substr(1, 1)) - ->setRetorno($linha->substr(2, 1)) - ->setTipoRegistro($linha->substr(3, 2)) + ->setRegistro($linha->substr(1, 1)->trim()) + ->setRetorno($linha->substr(2, 1)->trim()) + ->setTipoRegistro($linha->substr(3, 2)->trim()) ->setSimples($simples) ->setVinculada($vinculada) ->setCaucionada($caucionada) ->setDescontada($descontada) ->setVendor($vendor) - ->setSequencial($linha->substr(395, 6)); + ->setSequencial($linha->substr(395, 6)->trim()); return $trailer; } @@ -244,7 +244,7 @@ public function processarLinha($numLn, Stringy $linha) //e assim, ter os valores_posição_campos exatamente //como no manual CNAB400 $linha = $linha->insert(" ", 0); - $tipoLn = $linha->substr(1, 1); + $tipoLn = $linha->substr(1, 1)->trim(); $this->needToCreateLote = false; if ((string)$tipoLn == static::HEADER_ARQUIVO) { diff --git a/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv6Processor.php b/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv6Processor.php index 2a354d3..d2e88a7 100644 --- a/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv6Processor.php +++ b/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv6Processor.php @@ -38,9 +38,9 @@ public function createDetail() protected function processarHeaderArquivo($linha) { $header = parent::processarHeaderArquivo($linha); - $header->setConvenio($linha->substr(41, 6)) - ->setSequencialRet($linha->substr(101, 7)) - ->addComplemento($linha->substr(108, 287)); + $header->setConvenio($linha->substr(41, 6)->trim()) + ->setSequencialRet($linha->substr(101, 7)->trim()) + ->addComplemento($linha->substr(108, 287)->trim()); return $header; } @@ -54,20 +54,20 @@ protected function processarDetalhe($linha) { $detail = parent::processarDetalhe($linha); $detail - ->setConvenio($linha->substr(32, 6)) - ->setControle($linha->substr(38, 25)) - ->setNossoNumero($linha->substr(63, 11)) - ->setDvNossoNumero($linha->substr(74, 1)) - ->setTipoCobranca($linha->substr(75, 1)) - ->setTipoCobrancaCmd72($linha->substr(76, 1)) - ->setDiasCalculo($linha->substr(77, 4)) - ->setNatureza($linha->substr(81, 2)) - ->addUsoBanco($linha->substr(83, 3)) - ->setVariacaoCarteira($linha->substr(86, 3)) - ->setContaCaucao($linha->substr(89, 1)) - ->addUsoBanco($linha->substr(90, 5)) - ->addUsoBanco($linha->substr(95, 1)) - ->setConfirmacao($linha->substr(127, 20)) + ->setConvenio($linha->substr(32, 6)->trim()) + ->setControle($linha->substr(38, 25)->trim()) + ->setNossoNumero($linha->substr(63, 11)->trim()) + ->setDvNossoNumero($linha->substr(74, 1)->trim()) + ->setTipoCobranca($linha->substr(75, 1)->trim()) + ->setTipoCobrancaCmd72($linha->substr(76, 1)->trim()) + ->setDiasCalculo($linha->substr(77, 4)->trim()) + ->setNatureza($linha->substr(81, 2)->trim()) + ->addUsoBanco($linha->substr(83, 3)->trim()) + ->setVariacaoCarteira($linha->substr(86, 3)->trim()) + ->setContaCaucao($linha->substr(89, 1)->trim()) + ->addUsoBanco($linha->substr(90, 5)->trim()) + ->addUsoBanco($linha->substr(95, 1)->trim()) + ->setConfirmacao($linha->substr(127, 20)->trim()) ; return $detail; } diff --git a/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv7Processor.php b/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv7Processor.php index 886f749..05bc9e1 100644 --- a/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv7Processor.php +++ b/src/Cnab/Cnab400/Convenio/Processor/CNAB400Conv7Processor.php @@ -40,9 +40,9 @@ protected function processarHeaderArquivo($linha) { $header = parent::processarHeaderArquivo($linha); $header - ->addComplemento($linha->substr(108, 42)) - ->setConvenio($linha->substr(150, 7)) - ->addComplemento($linha->substr(108, 42)) + ->addComplemento($linha->substr(108, 42)->trim()) + ->setConvenio($linha->substr(150, 7)->trim()) + ->addComplemento($linha->substr(108, 42)->trim()) ; return $header; @@ -57,16 +57,16 @@ protected function processarDetalhe($linha) { $detail = parent::processarDetalhe($linha); $detail - ->setConvenio($linha->substr(32, 7)) - ->setControle($linha->substr(38, 25)) - ->setNossoNumero($linha->substr(64, 17)) - ->setTipoCobranca($linha->substr(81, 1)) - ->setTipoCobrancaCmd72($linha->substr(82, 1)) - ->setDiasCalculo($linha->substr(83, 4)) - ->setNatureza($linha->substr(87, 2)) - ->setPrefixoTitulo($linha->substr(89, 3)) - ->setVariacaoCarteira($linha->substr(92, 3)) - ->setContaCaucao($linha->substr(95, 1)) + ->setConvenio($linha->substr(32, 7)->trim()) + ->setControle($linha->substr(38, 25)->trim()) + ->setNossoNumero($linha->substr(64, 17)->trim()) + ->setTipoCobranca($linha->substr(81, 1)->trim()) + ->setTipoCobrancaCmd72($linha->substr(82, 1)->trim()) + ->setDiasCalculo($linha->substr(83, 4)->trim()) + ->setNatureza($linha->substr(87, 2)->trim()) + ->setPrefixoTitulo($linha->substr(89, 3)->trim()) + ->setVariacaoCarteira($linha->substr(92, 3)->trim()) + ->setContaCaucao($linha->substr(95, 1)->trim()) ; return $detail; }