public function buildDetail(Stringy $linha) { $detail = new Detail(); $banco = new Banco(); $banco->setCod($linha->substr(1, 3)); $detail->setLote($linha->substr(4, 4))->setRegistro($linha->substr(8, 1))->setNumRegistroLote($linha->substr(9, 5))->setSegmento($linha->substr(14, 1))->setTipoMovimento($linha->substr(15, 1))->setCodMovimento($linha->substr(16, 2)); $banco->setAgencia($linha->substr(18, 5))->setDvAgencia($linha->substr(23, 1))->setConta($linha->substr(24, 12))->setDvConta($linha->substr(36, 1)); $detail->setNossoNumero($linha->substr(38, 20))->setCarteira($linha->substr(58, 1))->setNumeroDocumento($linha->substr(59, 15))->setDataVencimento($linha->substr(74, 8))->setValorTitulo($linha->substr(82, 13)); $banco->setCod($linha->substr(97, 3))->setAgencia($linha->substr(100, 5))->setDvAgencia($linha->substr(105, 1)); $empresa = new Empresa(); $empresa->addUso($linha->substr(106, 25)); $detail->setCodMoeda($linha->substr(131, 2)); $sacado = new Sacado(); $sacado->setInscricao(new Inscricao($linha->substr(134, 15), $linha->substr(133, 1)))->setNome($linha->substr(149, 40)); $detail->setNumeroContrato($linha->substr(189, 10))->setValorTarifa($linha->substr(199, 13))->addOcorrencia($linha->substr(214, 10))->addCnab($linha->substr(224, 17)); $cedente = new Cedente(); $cedente->setBanco($banco); $detail->setCedente($cedente)->setSacado($sacado); return $detail; }
protected function processarDetalhe($linha) { $detail = new Detail(); $detail->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)->trim())->setConta($linha->substr(6, 14)->trim())->setDvConta($linha->substr(20, 1)->trim()); $cedente = new Cedente(); $cedente->setBanco($banco); $detail->setCedente($cedente); return $detail; }
/** * Processa uma linha detalhe do arquivo. * @param string $linha Linha detalhe do arquivo processado * @return string Retorna um vetor contendo os dados dos campos da linha detalhe. */ protected function processarDetalhe($linha) { $detail = $this->createDetail(); $bancoEmissor = new Banco(); $bancoEmissor->setAgencia(substr($linha, 22, 1))->setDvAgencia(substr($linha, 31, 1))->setConta(substr($linha, 23, 8))->setDvConta(substr($linha, 31, 1)); $bancoRecebedor = new Banco(); $bancoRecebedor->setCod(substr($linha, 166, 3))->setAgencia(substr($linha, 169, 4))->setDvAgencia(substr($linha, 173, 1)); $bancoEmpresa = new Banco(); $bancoEmpresa->setCod(substr($linha, 21, 17)); $empresa = new Empresa(); $empresa->setBanco($bancoEmpresa)->setTipoInscricao(substr($linha, 2, 2))->setNumInscricao(substr($linha, 4, 14))->addReservado(substr($linha, 38, 25)); $detail->setBancoEmissor($bancoEmissor)->setBancoRecebedor($bancoRecebedor)->setRegistro(substr($linha, 1, 1))->setNumOcorrencia(substr($linha, 117, 10))->setDataVencimento(substr($linha, 147, 6))->setValor($this->formataNumero(substr($linha, 153, 13)))->setDespCobranca(substr($linha, 176, 2))->setOutrasDespesas($this->formataNumero(substr($linha, 189, 13)))->setJurosAtraso($this->formataNumero(substr($linha, 202, 13)))->setTaxaIof($this->formataNumero(substr($linha, 215, 13)))->setDescontoConcedido($this->formataNumero(substr($linha, 241, 13)))->setValorRecebido($this->formataNumero(substr($linha, 254, 13)))->setJurosMora($this->formataNumero(substr($linha, 267, 13)))->setOutrosRecebimentos($this->formataNumero(substr($linha, 280, 13)))->setValorAbatimento($this->formataNumero(substr($linha, 228, 13)))->setValorLancamento($this->formataNumero(substr($linha, 306, 13)))->setIndicativoDc(substr($linha, 319, 1))->setIndicadorValor(substr($linha, 320, 1))->setValorAjuste($this->formataNumero(substr($linha, 321, 12)))->setSequencial(substr($linha, 395, 6))->setMotivoCodOcorrencia(substr($linha, 319, 10))->setNumCartorio(substr($linha, 369, 2))->setNumCartorio(substr($linha, 369, 2))->setNumCartorio(substr($linha, 369, 2)); return $detail; }
/** * Processa uma linha detalhe do arquivo. * @param string $linha Linha detalhe do arquivo processado * @return string Retorna um vetor contendo os dados dos campos da linha detalhe. */ protected function processarDetalhe($linha) { $detail = $this->createDetail(); $bancoEmissor = new Banco(); $bancoEmissor->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)->trim())->setAgencia($linha->substr(169, 4)->trim())->setDvAgencia($linha->substr(173, 1)->trim()); $detail->setBancoEmissor($bancoEmissor)->setBancoRecebedor($bancoRecebedor)->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; }