Eduardokum\LaravelBoleto\Util::controle2array PHP Method

controle2array() public static method

public static controle2array ( $controle ) : null | string
$controle
return null | string
    public static function controle2array($controle)
    {
        $matches = '';
        $matches_founded = '';
        preg_match_all('/(([A-Za-zÀ-Úà-ú]{1,1})([0-9]*))/', $controle, $matches, PREG_SET_ORDER);
        if ($matches) {
            foreach ($matches as $match) {
                $matches_founded[$match[2]] = $match[3];
            }
            return $matches_founded;
        }
        return [$controle];
    }

Usage Example

Example #1
0
 protected function processarDetalhe(array $detalhe)
 {
     $i = $this->i;
     $this->detalhe[$i] = new Detalhe($detalhe);
     $this->detalhe[$i]->numeroControle = Util::controle2array($this->rem(38, 62, $detalhe));
     $this->detalhe[$i]->numero = $this->rem(63, 70, $detalhe);
     $this->detalhe[$i]->nossoNumero = $this->rem(86, 93, $detalhe);
     $this->detalhe[$i]->nossoNumeroDigito = $this->rem(94, 94, $detalhe);
     $this->detalhe[$i]->numeroDocumento = $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataCredito = $this->rem(296, 301, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->confTituloBanco = $this->rem(127, 134, $detalhe);
     $this->detalhe[$i]->bancoCobrador = $this->rem(166, 168, $detalhe);
     $this->detalhe[$i]->agenciaCobradora = $this->rem(169, 172, $detalhe);
     $this->detalhe[$i]->agenciaCobradoraDigito = $this->rem(173, 173, $detalhe);
     $this->detalhe[$i]->especie = $this->rem(174, 175, $detalhe);
     $this->detalhe[$i]->valor = Util::nFloat($this->rem(153, 165, $detalhe) / 100);
     $this->detalhe[$i]->valorTarifa = Util::nFloat($this->rem(176, 188, $detalhe) / 100);
     $this->detalhe[$i]->valorIOF = Util::nFloat($this->rem(215, 227, $detalhe) / 100);
     $this->detalhe[$i]->valorAbatimento = Util::nFloat($this->rem(228, 240, $detalhe) / 100);
     $this->detalhe[$i]->valorDesconto = Util::nFloat($this->rem(241, 253, $detalhe) / 100);
     $this->detalhe[$i]->valorRecebido = Util::nFloat($this->rem(254, 266, $detalhe) / 100);
     $this->detalhe[$i]->valorMora = Util::nFloat($this->rem(267, 279, $detalhe) / 100);
     $this->detalhe[$i]->valorOutrosCreditos = Util::nFloat($this->rem(280, 292, $detalhe) / 100);
     $this->detalhe[$i]->valorComplementar = Util::nFloat($this->rem(312, 324, $detalhe) / 100);
     $this->detalhe[$i]->dda = $this->rem(293, 293, $detalhe);
     $this->detalhe[$i]->instrucaoCancelada = $this->rem(302, 305, $detalhe);
     $this->detalhe[$i]->dataComplementar = $this->rem(306, 311, $detalhe);
     $this->detalhe[$i]->sacadoNome = $this->rem(325, 354, $detalhe);
     $this->detalhe[$i]->motivosRejeicao = str_split($this->rem(378, 385, $detalhe), 2);
     $this->detalhe[$i]->liquidacaoCodigo = $this->rem(393, 394, $detalhe);
     $this->detalhe[$i]->liquidacaoNome = 'Desconhecido';
     $this->detalhe[$i]->ocorrenciaNome = $this->ocorrencias[$this->detalhe[$i]->get('ocorrencia', 'XX', true)];
     $this->detalhe[$i]->especieNome = $this->especies[$this->detalhe[$i]->get('especie', 'XX', true)];
     $this->detalhe[$i]->bancoCobradorNome = $this->bancos[$this->detalhe[$i]->get('bancoCobrador', 'XXX', true)];
     $this->detalhe[$i]->dataOcorrencia = $this->detalhe[$i]->get('dataOcorrencia', false, true) ? Carbon::createFromFormat('dmy', $this->detalhe[$i]->get('dataOcorrencia'))->setTime(0, 0, 0) : null;
     $this->detalhe[$i]->dataVencimento = $this->detalhe[$i]->get('dataVencimento', false, true) ? Carbon::createFromFormat('dmy', $this->detalhe[$i]->get('dataVencimento'))->setTime(0, 0, 0) : null;
     $this->detalhe[$i]->dataCredito = $this->detalhe[$i]->get('dataCredito', false, true) ? Carbon::createFromFormat('dmy', $this->detalhe[$i]->get('dataCredito'))->setTime(0, 0, 0) : null;
     $this->detalhe[$i]->dataComplementar = $this->detalhe[$i]->get('dataComplementar', false, true) ? Carbon::createFromFormat('dmy', $this->detalhe[$i]->get('dataComplementar'))->setTime(0, 0, 0) : null;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['06', '07', '08', '10'])) {
         $this->detalhe[$i]->liquidacaoNome = $this->liquidacoes[$this->detalhe[$i]->get('liquidacaoCodigo', 'XX', true)];
         $this->totais['liquidados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_LIQUIDADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['02', '64', '71', '73'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['05', '09', '32', '47', '59', '72'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['03', '15', '16', '60', '03'])) {
         $this->totais['erros']++;
         $this->detalhe[$i]->setErro('Desconhecido');
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }
All Usage Examples Of Eduardokum\LaravelBoleto\Util::controle2array