|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Umbrella\Ya\RetornoBoleto\Cnab\Cnab240\Segmento; |
|
4
|
|
|
|
|
5
|
|
|
use Stringy\Stringy; |
|
6
|
|
|
use Umbrella\Ya\RetornoBoleto\Cnab\Cnab240\DadosTitulo; |
|
7
|
|
|
use Umbrella\Ya\RetornoBoleto\Cnab\Cnab240\Detail; |
|
8
|
|
|
use Umbrella\Ya\RetornoBoleto\Model\Banco; |
|
9
|
|
|
use Umbrella\Ya\RetornoBoleto\Model\Cedente; |
|
10
|
|
|
use Umbrella\Ya\RetornoBoleto\Model\Ocorrencia; |
|
11
|
|
|
use Umbrella\Ya\RetornoBoleto\Model\Sacado; |
|
12
|
|
|
|
|
13
|
|
|
class SegmentoU extends AbstractSegmento |
|
14
|
|
|
{ |
|
15
|
|
|
|
|
16
|
|
|
public function buildDetail(Stringy $linha) |
|
17
|
|
|
{ |
|
18
|
|
|
$detail = new Detail(); |
|
19
|
|
|
$banco = new Banco(); |
|
20
|
|
|
$bancoSacado = new Banco(); |
|
21
|
|
|
$sacado = new Sacado(); |
|
22
|
|
|
$ocorrencia = new Ocorrencia(); |
|
23
|
|
|
$dadosTitulo = new DadosTitulo(); |
|
24
|
|
|
$cedente = new Cedente(); |
|
25
|
|
|
|
|
26
|
|
|
$bancoSacado->setCod($linha->substr(1, 3)); |
|
27
|
|
|
$sacado->setBanco($bancoSacado); |
|
28
|
|
|
|
|
29
|
|
|
$detail |
|
30
|
|
|
->setLote($linha->substr(4, 4)) |
|
31
|
|
|
->setRegistro($linha->substr(8, 1)) |
|
32
|
|
|
->setNumRegistroLote($linha->substr(9, 5)) |
|
33
|
|
|
->setSegmento($linha->substr(14, 1)) |
|
34
|
|
|
->addCnab($linha->substr(15, 1)) |
|
35
|
|
|
->setCodMovimento($linha->substr(16, 2)); |
|
36
|
|
|
|
|
37
|
|
|
//Dados do Titulo |
|
38
|
|
|
$dadosTitulo->setAcrescimos($this->convertToFloat($linha->substr(18, 15))) |
|
39
|
|
|
->setValorDesconto($this->convertToFloat($linha->substr(33, 15))) |
|
40
|
|
|
->setValorAbatimento($this->convertToFloat($linha->substr(48, 15))) |
|
41
|
|
|
->setValorIOF($this->convertToFloat($linha->substr(63, 15))) |
|
42
|
|
|
->setValorPago($this->convertToFloat($linha->substr(78, 15))) |
|
43
|
|
|
->setValorLiquido($this->convertToFloat($linha->substr(93, 15))); |
|
44
|
|
|
|
|
45
|
|
|
$detail->setDadosTitulo($dadosTitulo) |
|
46
|
|
|
->setOutrasDespesas($this->convertToFloat($linha->substr(108, 15))) |
|
47
|
|
|
->setOutrosCreditos($this->convertToFloat($linha->substr(123, 15))) |
|
48
|
|
|
->setDataOcorrencia($this->createDate($linha->substr(138, 8), "dmY")) |
|
49
|
|
|
->setDataCredito($this->createDate($linha->substr(146, 8), "dmY")); |
|
50
|
|
|
|
|
51
|
|
|
$ocorrencia->setCod(($this->convertToInt($linha->substr(154, 4)))) |
|
52
|
|
|
->setData($this->createDate($linha->substr(158, 8))) |
|
53
|
|
|
->setValor($this->convertToFloat($linha->substr(166, 15))) |
|
54
|
|
|
->setComplemento($linha->substr(181, 30)); |
|
55
|
|
|
|
|
56
|
|
|
$banco->setCod($linha->substr(211, 3)); |
|
57
|
|
|
$cedente->setBanco($banco); |
|
58
|
|
|
|
|
59
|
|
|
$detail->setNossoNumero($linha->substr(214, 20)) |
|
60
|
|
|
->addCnab($linha->substr(234, 7)); |
|
61
|
|
|
|
|
62
|
|
|
$detail |
|
63
|
|
|
->setCedente($cedente) |
|
64
|
|
|
->setSacado($sacado); |
|
65
|
|
|
|
|
66
|
|
|
return $detail; |
|
67
|
|
|
} |
|
68
|
|
|
} |
|
69
|
|
|
|