Example #1
1
 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 a linha header do arquivo
  * @param string $linha Linha do header de arquivo processado
  * @return string Retorna um vetor contendo os dados dos campos do header do arquivo. 
  */
 protected function processarHeaderArquivo($linha)
 {
     $header = $this->createHeader();
     //X = ALFANUMÉRICO 9 = NUMÉRICO V = VÍRGULA DECIMAL ASSUMIDA
     $header->setRegistro(substr($linha, 1, 1))->setTipoOperacao(substr($linha, 2, 1))->setIdTipoOperacao(substr($linha, 3, 7))->setIdTipoServico(substr($linha, 10, 2))->setTipoServico(substr($linha, 12, 15));
     $empresa = new Empresa();
     $empresa->setCod(substr($linha, 27, 20))->setNome(substr($linha, 47, 30));
     $banco = new Banco();
     $banco->setCod(substr($linha, 77, 3))->setNome(substr($linha, 80, 15));
     $cedente = new Cedente();
     $cedente->setBanco($banco)->setNome(substr($linha, 47, 30));
     $header->setEmpresa($empresa)->setCedente($cedente)->setDataGravacao($this->createDate(substr($linha, 95, 6)))->setDensidadeGravacao(substr($linha, 101, 8))->setNumAvisoCredito(substr($linha, 109, 5))->setSequencialReg(substr($linha, 395, 6));
     return $header;
 }
 protected function processarHeaderLote($linha)
 {
     $header = new HeaderLote();
     $header->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)->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)->trim())->setNumInscricao($linha->substr(19, 14)->trim())->setNome($linha->substr(73, 30)->trim());
     $banco = new Banco();
     $banco->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();
     $cedente->setBanco($banco);
     $header->setCedente($cedente)->setEmpresa($empresa);
     return $header;
 }
 /**
  * Processa a linha header do arquivo
  * @param string $linha Linha do header de arquivo processado
  * @return string Retorna um vetor contendo os dados dos campos do header do arquivo.
  */
 protected function processarHeaderArquivo($linha)
 {
     $header = $this->createHeader();
     //X = ALFANUMÉRICO 9 = NUMÉRICO V = VÍRGULA DECIMAL ASSUMIDA
     $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)->trim(), $bancoArray)) {
         throw new InvalidArgumentException('Banco invalido');
     }
     $banco = new Banco();
     $banco->setCod($bancoArray[1])->setNome($bancoArray[2])->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)->trim());
     $header->setCedente($cedente);
     $header->setDataGravacao($this->createDate($linha->substr(95, 6)->trim()));
     $header->setSequencialReg($linha->substr(395, 6)->trim());
     return $header;
 }
 public function buildDetail(Stringy $linha)
 {
     $detail = new Detail();
     $banco = new Banco();
     $bancoSacado = new Banco();
     $sacado = new Sacado();
     $ocorrencia = new Ocorrencia();
     $dadosTitulo = new DadosTitulo();
     $cedente = new Cedente();
     $bancoSacado->setCod($linha->substr(1, 3));
     $sacado->setBanco($bancoSacado);
     $detail->setLote($linha->substr(4, 4))->setRegistro($linha->substr(8, 1))->setNumRegistroLote($linha->substr(9, 5))->setSegmento($linha->substr(14, 1))->addCnab($linha->substr(15, 1))->setCodMovimento($linha->substr(16, 2));
     //Dados do Titulo
     $dadosTitulo->setAcrescimos($this->convertToFloat($linha->substr(18, 15)))->setValorDesconto($this->convertToFloat($linha->substr(33, 15)))->setValorAbatimento($this->convertToFloat($linha->substr(48, 15)))->setValorIOF($this->convertToFloat($linha->substr(63, 15)))->setValorPago($this->convertToFloat($linha->substr(78, 15)))->setValorLiquido($this->convertToFloat($linha->substr(93, 15)));
     $detail->setDadosTitulo($dadosTitulo)->setOutrasDespesas($this->convertToFloat($linha->substr(108, 15)))->setOutrosCreditos($this->convertToFloat($linha->substr(123, 15)))->setDataOcorrencia($this->createDate($linha->substr(138, 8), "dmY"))->setDataCredito($this->createDate($linha->substr(146, 8), "dmY"));
     $ocorrencia->setCod($this->convertToInt($linha->substr(154, 4)))->setData($this->createDate($linha->substr(158, 8)))->setValor($this->convertToFloat($linha->substr(166, 15)))->setComplemento($linha->substr(181, 30));
     $banco->setCod($linha->substr(211, 3));
     $cedente->setBanco($banco);
     $detail->setNossoNumero($linha->substr(214, 20))->addCnab($linha->substr(234, 7));
     $detail->setCedente($cedente)->setSacado($sacado);
     return $detail;
 }