controle2array() публичный статический Метод

public static controle2array ( $controle ) : null | string
$controle
Результат null | string
Пример #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++;
 }
Пример #2
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]->nossoNumero = $this->rem(63, 73, $detalhe);
     $this->detalhe[$i]->numeroDocumento = $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->rejeicaoCodigo = $this->rem(80, 82, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->dataCredito = $this->rem(294, 299, $detalhe);
     $this->detalhe[$i]->dataDebitoTarifa = $this->rem(195, 200, $detalhe);
     $this->detalhe[$i]->bancoCobrador = $this->rem(166, 168, $detalhe);
     $this->detalhe[$i]->agenciaCobradora = $this->rem(169, 173, $detalhe);
     $this->detalhe[$i]->especie = $this->rem(174, 175, $detalhe);
     $this->detalhe[$i]->liquidacaoCodigo = $this->rem(189, 191, $detalhe);
     $this->detalhe[$i]->formaPagamento = $this->rem(192, 192, $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]->valorMulta = Util::nFloat($this->rem(280, 292, $detalhe) / 100);
     $this->detalhe[$i]->liquidacaoNome = 'Desconhecido';
     $this->detalhe[$i]->formaPagamentoNome = $this->formasPagamento[$this->detalhe[$i]->get('formaPagamento', 'X', true)];
     $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]->dataDebitoTarifa = $this->detalhe[$i]->get('dataDebitoTarifa', false, true) ? Carbon::createFromFormat('dmy', $this->detalhe[$i]->get('dataDebitoTarifa'))->setTime(0, 0, 0) : null;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['21', '22'])) {
         $this->detalhe[$i]->liquidacaoNome = $this->liquidacoes[$this->detalhe[$i]->get('liquidacaoCodigo', 'XXX', true)];
         $this->totais['liquidados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_LIQUIDADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['01'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['02', '23', '24', '25'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['99'])) {
         $this->totais['erros']++;
         $this->detalhe[$i]->setErro($this->rejeicoes[$this->detalhe[$i]->get('rejeicaoCodigo', 'XX', true)]);
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }
Пример #3
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]->nossoNumero = $this->rem(71, 82, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->numeroDocumento = $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->numero = $this->rem(127, 146, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->dataCredito = $this->rem(296, 301, $detalhe);
     $this->detalhe[$i]->bancoCobrador = $this->rem(166, 168, $detalhe);
     $this->detalhe[$i]->agenciaCobradora = $this->rem(169, 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]->valorCustaProtesto = Util::nFloat($this->rem(189, 201, $detalhe) / 100);
     $this->detalhe[$i]->valorAtraso = Util::nFloat($this->rem(202, 214, $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]->motivoProtesto = $this->rem(295, 295, $detalhe);
     $this->detalhe[$i]->rejeicao = str_split($this->rem(319, 328, $detalhe), 2);
     $this->detalhe[$i]->numeroCartorio = $this->rem(369, 370, $detalhe);
     $this->detalhe[$i]->numeroProtocolo = $this->rem(371, 380, $detalhe);
     $this->detalhe[$i]->bancoCobradorNome = $this->bancos[$this->detalhe[$i]->get('bancoCobrador', 'XXX', true)];
     $this->detalhe[$i]->motivoProtestoNome = $this->motivosProtesto[$this->detalhe[$i]->get('motivoProtesto', 'X', true)];
     $this->detalhe[$i]->especieNome = 'Desconhecida';
     $this->detalhe[$i]->ocorrenciaNome = $this->ocorrencias[$this->detalhe[$i]->get('ocorrencia', 'XX', 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;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['06', '15', '17'])) {
         $this->totais['liquidados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_LIQUIDADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['02'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['09', '10'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['03', '24', '27', '30', '32'])) {
         $this->totais['erros']++;
         $this->detalhe[$i]->setErro('Desconhecido');
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }
Пример #4
0
 protected function processarDetalhe(array $detalhe)
 {
     $i = $this->i;
     $this->detalhe[$i] = new Detalhe($detalhe);
     $this->detalhe[$i]->liquidacaoCodigo = $this->rem(36, 36, $detalhe);
     $this->detalhe[$i]->numeroControle = Util::controle2array($this->rem(38, 62, $detalhe));
     $this->detalhe[$i]->nossoNumero = $this->rem(63, 73, $detalhe);
     $this->detalhe[$i]->numero = $this->rem(127, 137, $detalhe);
     $this->detalhe[$i]->numeroDocumento = $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->bancoCobrador = $this->rem(166, 168, $detalhe);
     $this->detalhe[$i]->agenciaCobradora = $this->rem(169, 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]->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]->rejeicao = $this->rem(302, 303, $detalhe);
     $this->detalhe[$i]->indicativoCredito = $this->rem(304, 304, $detalhe);
     $this->totais['valor'] += $this->detalhe[$i]->valor;
     $this->detalhe[$i]->especieNome = $this->especies[$this->detalhe[$i]->get('especie', 'XX', true)];
     $this->detalhe[$i]->ocorrenciaNome = $this->ocorrencias[$this->detalhe[$i]->get('ocorrencia', 'XX', true)];
     $this->detalhe[$i]->liquidacaoNome = $this->liquidacoes[$this->detalhe[$i]->get('liquidacaoCodigo', 'X', true)];
     $this->detalhe[$i]->indicativoCreditoNome = $this->indicativosCredito[$this->detalhe[$i]->get('indicativoCredito', 'X', 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;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['06', '07', '15', '16', '31', '32', '33', '36', '38', '39'])) {
         $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'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['09', '10', '16', '37'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['03'])) {
         $this->totais['erros']++;
         $this->detalhe[$i]->setErro($this->rejeicoes[$this->detalhe[$i]->get('rejeicao', 'XX', true)]);
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }
 public function getNumeroControle()
 {
     return $this->isEmpty($this->numeroControle) ? $this->getNumero() : Util::controle2array($this->numeroControle);
 }
Пример #6
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]->nossoNumero = $this->rem(63, 70, $detalhe);
     $this->detalhe[$i]->numeroDocumento = $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->numero = $this->rem(127, 134, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->dataCredito = $this->rem(296, 301, $detalhe);
     $this->detalhe[$i]->rejeicao = $this->rem(135, 136, $detalhe);
     $this->detalhe[$i]->erro1 = $this->rem(137, 139, $detalhe);
     $this->detalhe[$i]->erro2 = $this->rem(140, 142, $detalhe);
     $this->detalhe[$i]->erro3 = $this->rem(143, 145, $detalhe);
     $this->detalhe[$i]->bancoCobrador = $this->rem(166, 168, $detalhe);
     $this->detalhe[$i]->agenciaCobradora = $this->rem(169, 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]->valorOutrosDebitos = Util::nFloat($this->rem(189, 201, $detalhe) / 100);
     $this->detalhe[$i]->valorJuros = Util::nFloat($this->rem(202, 214, $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]->valorOutraUnidade = Util::nFloat($this->rem(341, 353, $detalhe) / 100);
     $this->detalhe[$i]->valorOutraMoeda = Util::nFloat($this->rem(354, 366, $detalhe) / 100);
     $this->detalhe[$i]->valorDebitoCredito = Util::nFloat($this->rem(367, 379, $detalhe) / 100);
     $this->detalhe[$i]->aceite = $this->rem(294, 294, $detalhe);
     $this->detalhe[$i]->sacadoNome = $this->rem(302, 337, $detalhe);
     $this->detalhe[$i]->indicativoCredito = $this->rem(380, 380, $detalhe);
     $this->totais['valor'] += $this->detalhe[$i]->valor;
     $this->detalhe[$i]->especieNome = $this->especies[$this->detalhe[$i]->get('especie', 'XX', true)];
     $this->detalhe[$i]->ocorrenciaNome = $this->ocorrencias[$this->detalhe[$i]->get('ocorrencia', 'XX', true)];
     $this->detalhe[$i]->indicativoCreditoNome = $this->indicativosCredito[$this->detalhe[$i]->get('indicativoCredito', 'X', 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;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['06', '07', '08', '16', '17'])) {
         $this->totais['liquidados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_LIQUIDADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['02'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['09', '10'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['03'])) {
         $this->totais['erros']++;
         $erros[] = $this->rejeicoes[$this->detalhe[$i]->get('erro1')];
         $erros[] = $this->rejeicoes[$this->detalhe[$i]->get('erro2')];
         $erros[] = $this->rejeicoes[$this->detalhe[$i]->get('erro3')];
         $this->detalhe[$i]->setErro(implode(', ', $erros));
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }
Пример #7
0
 protected function processarDetalhe(array $detalhe)
 {
     $i = $this->i;
     if ($this->rem(64, 80, $detalhe) == '5') {
         return;
     }
     $this->detalhe[$i] = new Detalhe($detalhe);
     $this->detalhe[$i]->numeroControle = Util::controle2array($this->rem(39, 63, $detalhe));
     $this->detalhe[$i]->nossoNumero = $this->rem(64, 80, $detalhe);
     $this->detalhe[$i]->numeroDocumento = (int) $this->rem(117, 126, $detalhe);
     $this->detalhe[$i]->tipoCobranca = $this->rem(81, 81, $detalhe);
     $this->detalhe[$i]->tipoCobranca72 = $this->rem(82, 82, $detalhe);
     $this->detalhe[$i]->diasCalculo = (int) $this->rem(83, 86, $detalhe);
     $this->detalhe[$i]->naturezaRec = $this->rem(87, 88, $detalhe);
     $this->detalhe[$i]->contaCaucao = $this->rem(95, 95, $detalhe);
     $this->detalhe[$i]->ocorrencia = $this->rem(109, 110, $detalhe);
     $this->detalhe[$i]->dataOcorrencia = $this->rem(111, 116, $detalhe);
     $this->detalhe[$i]->dataVencimento = $this->rem(147, 152, $detalhe);
     $this->detalhe[$i]->dataCredito = $this->rem(176, 181, $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]->taxaDesconto = Util::nFloat($this->rem(96, 100, $detalhe));
     $this->detalhe[$i]->taxaIOF = Util::nFloat($this->rem(101, 105, $detalhe));
     $this->detalhe[$i]->valorTarifa = Util::nFloat($this->rem(182, 188, $detalhe) / 100);
     $this->detalhe[$i]->valor = Util::nFloat($this->rem(153, 165, $detalhe) / 100);
     $this->detalhe[$i]->valorOutros = Util::nFloat($this->rem(189, 201, $detalhe) / 100);
     $this->detalhe[$i]->valorJurosDesconto = Util::nFloat($this->rem(202, 214, $detalhe) / 100);
     $this->detalhe[$i]->valorIOFDesconto = 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]->valorAbatidosNaoAprovados = Util::nFloat($this->rem(293, 305, $detalhe) / 100);
     $this->detalhe[$i]->valorLacamento = Util::nFloat($this->rem(306, 318, $detalhe) / 100);
     $this->detalhe[$i]->valorAjuste = Util::nFloat($this->rem(321, 332, $detalhe) / 100);
     $this->detalhe[$i]->indicativoCredito = $this->rem(319, 319, $detalhe);
     $this->detalhe[$i]->indicativoValor = $this->rem(320, 320, $detalhe);
     $this->detalhe[$i]->origemPagamento = $this->rem(393, 394, $detalhe);
     $this->detalhe[$i]->tipoCobrancaNome = $this->tiposCobranca[$this->detalhe[$i]->get('tipoCobranca', $this->detalhe[$i]->get('tipoCobranca72'))];
     $this->detalhe[$i]->ocorrenciaNome = $this->ocorrencias[$this->detalhe[$i]->get('ocorrencia', 'XX', true)];
     $this->detalhe[$i]->bancoCobradorNome = $this->bancos[$this->detalhe[$i]->get('bancoCobrador', 'XXX', true)];
     $this->detalhe[$i]->especieNome = $this->especies[$this->detalhe[$i]->get('especie', 'XX', true)];
     $this->detalhe[$i]->indicativoCreditoNome = $this->indicativosCredito[$this->detalhe[$i]->get('indicativoCredito')];
     $this->detalhe[$i]->origemPagamentoNome = $this->origensPagamento[$this->detalhe[$i]->get('origemPagamento', 'XX', 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;
     if (in_array($this->detalhe[$i]->get('ocorrencia'), ['05', '06', '07', '08', '15'])) {
         $this->totais['liquidados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_LIQUIDADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['02'])) {
         $this->totais['entradas']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ENTRADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['09', '10'])) {
         $this->totais['baixados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_BAIXADA);
     } elseif (in_array($this->detalhe[$i]->get('ocorrencia'), ['03'])) {
         $this->totais['erros']++;
         $this->detalhe[$i]->setErro($this->rejeicoes[$this->detalhe[$i]->get('ocorrencia', 'XX', true)]);
     } else {
         $this->totais['alterados']++;
         $this->detalhe[$i]->setTipoOcorrencia(Detalhe::OCORRENCIA_ALTERACAO);
     }
     $this->i++;
 }