BoleCode   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 93
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 9
eloc 41
c 2
b 0
f 0
dl 0
loc 93
rs 10

9 Methods

Rating   Name   Duplication   Size   Complexity  
A getBeneficiario() 0 3 1
A setBeneficiario() 0 4 1
A __construct() 0 26 1
A beneficiario() 0 7 1
A setEtapaProcessoBoleto() 0 4 1
A setDadoBoleto() 0 4 1
A setDadosQrCode() 0 4 1
A dadosQrCode() 0 7 1
A dadoBoleto() 0 7 1
1
<?php
2
namespace Itau\API\BoleCode;
3
4
use Itau\API\TraitEntity;
5
6
class BoleCode implements \JsonSerializable
7
{
8
    use TraitEntity;
9
10
    const ETAPA_TESTE = "simulacao";
11
    const ETAPA_EFETIVO = "efetivacao";
12
13
    private string $etapa_processo_boleto;
14
    private Beneficiario $beneficiario;
15
    private DadoBoleto $dado_boleto;
16
    private DadosQrcode $dados_qrcode;
17
18
    public function __construct(
19
        $modo, $agencia, $conta, $contaDV, $valor, $tipoBoleto, $numeroDocumento, $nome, $tipoPessoa,
20
        $documento, $endereco, $numero, $complemento, $bairro, $cidade, $siglaEstado, $cep, $nossoNumero, 
21
        $vencimento, $chavePix, $tipoMulta, $percentualMulta, $tipoJuros, $percentualJuros
22
    )
23
    {
24
        $this->setEtapaProcessoBoleto($modo)
25
            ->beneficiario()->setIdBeneficiario($agencia, $conta.$contaDV);
26
        $dadoBoleto = $this->dadoBoleto()
27
            ->setDados($valor, $tipoBoleto, $numeroDocumento);
28
        $pagador = $dadoBoleto->pagador();
29
        $pessoa = $pagador->pessoa()->setNomePessoa($nome);
30
        $tipoPessoa = $pessoa->tipoPessoa()
0 ignored issues
show
Unused Code introduced by
The assignment to $tipoPessoa is dead and can be removed.
Loading history...
31
            ->setPessoa($tipoPessoa, $documento);
32
        $pagador->endereco()->setEndereco(
33
            $endereco, $numero, $complemento, $bairro, $cidade, $siglaEstado, $cep
34
        );
35
            
36
        $dadoBoleto->dadosIndividuais()->setDados(
37
            $nossoNumero, $vencimento, $valor
38
        );
39
40
        $dadoBoleto->multa()->setMulta($tipoMulta, $percentualMulta);
41
        $dadoBoleto->juros()->setJuros($tipoJuros, $percentualJuros);
42
43
        $this->dadosQrCode()->setChave($chavePix);
44
    }
45
    public function setEtapaProcessoBoleto($etapa): self
46
    {
47
        $this->etapa_processo_boleto = $etapa;
48
        return $this;
49
    }
50
51
    public function beneficiario(): Beneficiario
52
    {
53
        $beneficiario = new Beneficiario();
54
55
        $this->setBeneficiario($beneficiario);
56
57
        return $beneficiario;
58
    }
59
60
    public function getBeneficiario(): Beneficiario
61
    {
62
        return $this->beneficiario;
63
    }
64
65
    public function setBeneficiario(Beneficiario $beneficiario): self
66
    {
67
        $this->beneficiario = $beneficiario;
68
        return $this;
69
    }
70
71
    public function dadoBoleto(): DadoBoleto
72
    {
73
        $dado = new DadoBoleto();
74
75
        $this->setDadoBoleto($dado);
76
77
        return $dado;
78
    }
79
80
    private function setDadoBoleto(DadoBoleto $dado): self
81
    {
82
        $this->dado_boleto = $dado;
83
        return $this;
84
    }
85
86
    public function dadosQrCode(): DadosQrCode
87
    {
88
        $dado = new DadosQrCode();
89
90
        $this->setDadosQrCode($dado);
91
92
        return $dado;
93
    }
94
95
    private function setDadosQrCode(DadosQrCode $dado): self
96
    {
97
        $this->dados_qrcode = $dado;
98
        return $this;
99
    }
100
}