Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\Banco\Caixa::processarDetalhe PHP Метод

processarDetalhe() защищенный Метод

protected processarDetalhe ( array $detalhe )
$detalhe array
    protected function processarDetalhe(array $detalhe)
    {
        $d = $this->detalheAtual();
        $d->setNossoNumero($this->rem(57, 73, $detalhe))->setNumeroDocumento($this->rem(117, 126, $detalhe))->setOcorrencia($this->rem(109, 110, $detalhe))->setOcorrenciaDescricao(array_get($this->ocorrencias, $d->getOcorrencia(), 'Desconhecida'))->setDataOcorrencia($this->rem(111, 116, $detalhe))->setDataVencimento($this->rem(147, 152, $detalhe))->setDataCredito($this->rem(294, 299, $detalhe))->setValor(Util::nFloat($this->rem(153, 165, $detalhe) / 100, 2, false))->setValorTarifa(Util::nFloat($this->rem(176, 188, $detalhe) / 100, 2, false))->setValorIOF(Util::nFloat($this->rem(215, 227, $detalhe) / 100, 2, false))->setValorAbatimento(Util::nFloat($this->rem(228, 240, $detalhe) / 100, 2, false))->setValorDesconto(Util::nFloat($this->rem(241, 253, $detalhe) / 100, 2, false))->setValorRecebido(Util::nFloat($this->rem(254, 266, $detalhe) / 100, 2, false))->setValorMora(Util::nFloat($this->rem(267, 279, $detalhe) / 100, 2, false))->setValorMulta(Util::nFloat($this->rem(280, 292, $detalhe) / 100, 2, false));
        $this->totais['valor_recebido'] += $d->getValorRecebido();
        if ($d->hasOcorrencia('21', '22')) {
            $this->totais['liquidados']++;
            $d->setOcorrenciaTipo($d::OCORRENCIA_LIQUIDADA);
        } elseif ($d->hasOcorrencia('01')) {
            $this->totais['entradas']++;
            $d->setOcorrenciaTipo($d::OCORRENCIA_ENTRADA);
        } elseif ($d->hasOcorrencia('02', '23', '24', '25')) {
            $this->totais['baixados']++;
            $d->setOcorrenciaTipo($d::OCORRENCIA_BAIXADA);
        } elseif ($d->hasOcorrencia('56')) {
            $this->totais['protestados']++;
            $d->setOcorrenciaTipo($d::OCORRENCIA_PROTESTADA);
        } elseif ($d->hasOcorrencia('05')) {
            $this->totais['alterados']++;
            $d->setOcorrenciaTipo($d::OCORRENCIA_ALTERACAO);
        } elseif ($d->hasOcorrencia('99')) {
            $this->totais['erros']++;
            $d->setError(array_get($this->rejeicoes, $this->rem(80, 82, $detalhe), 'Consulte seu Internet Banking'));
        } else {
            $d->setOcorrenciaTipo($d::OCORRENCIA_OUTROS);
        }
        return true;
    }