Detail   A
last analyzed

Complexity

Total Complexity 15

Size/Duplication

Total Lines 185
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 39
c 1
b 0
f 0
dl 0
loc 185
ccs 52
cts 52
cp 1
rs 10
wmc 15

15 Methods

Rating   Name   Duplication   Size   Complexity  
A getConsumerUnity() 0 3 1
A getDealership() 0 3 1
A getParcel() 0 3 1
A setAuthorization() 0 3 1
A getOccurrence() 0 3 1
A setDealership() 0 3 1
A setPurchaser() 0 3 1
A getSequence() 0 3 1
A setParcel() 0 3 1
A setOccurrence() 0 3 1
A setConsumerUnity() 0 3 1
A setSequence() 0 3 1
A getAuthorization() 0 3 1
A __construct() 0 25 1
A getPurchaser() 0 3 1
1
<?php
2
namespace MrPrompt\Celesc\Received\Partial;
3
4
use MrPrompt\ShipmentCommon\Base\Authorization;
5
use MrPrompt\ShipmentCommon\Base\ConsumerUnity;
6
use MrPrompt\ShipmentCommon\Base\Dealership;
7
use MrPrompt\ShipmentCommon\Base\Document;
8
use MrPrompt\ShipmentCommon\Base\Occurrence;
9
use MrPrompt\ShipmentCommon\Base\Parcel;
10
use MrPrompt\ShipmentCommon\Base\Purchaser;
11
use MrPrompt\ShipmentCommon\Base\Sequence;
12
use DateTime;
13
14
/**
15
 * File detail
16
 *
17
 * @author Thiago Paes <[email protected]>
18
 */
19
class Detail extends \stdClass
20
{
21
    /**
22
     * Type of register
23
     *
24
     * @var string
25
     */
26
    const TYPE = '2';
27
28
    /**
29
     * @var ConsumerUnity
30
     */
31
    private $consumerUnity;
32
33
    /**
34
     * @var Occurrence
35
     */
36
    private $occurrence;
37
38
    /**
39
     * @var Parcel
40
     */
41
    private $parcel;
42
43
    /**
44
     * @var Authorization
45
     */
46
    private $authorization;
47
48
    /**
49
     * @var Dealership
50
     */
51
    private $dealership;
52
53
    /**
54
     * @var Sequence
55
     */
56
    private $sequence;
57
58
    /**
59
     * @var Purchaser
60
     */
61
    private $purchaser;
62
63
    /**
64
     * Constructor
65
     * @param string $row
66
     */
67 15
    public function __construct($row)
68
    {
69 15
        $this->consumerUnity = new ConsumerUnity();
70 15
        $this->consumerUnity->setNumber((int) substr($row, 1, 13));
71
72 15
        $this->parcel = new Parcel();
73 15
        $this->parcel->setPrice(substr($row, 14, 9));
0 ignored issues
show
Bug introduced by
substr($row, 14, 9) of type string is incompatible with the type double expected by parameter $price of MrPrompt\ShipmentCommon\Base\Parcel::setPrice(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

73
        $this->parcel->setPrice(/** @scrutinizer ignore-type */ substr($row, 14, 9));
Loading history...
74 15
        $this->parcel->setKey(0);
75 15
        $this->parcel->setMaturity(DateTime::createFromFormat('dmY', substr($row, 23, 8)));
76
77 15
        $this->occurrence = new Occurrence();
78 15
        $this->occurrence->setReturn((int) substr($row, 31, 2));
79
80 15
        $this->authorization = new Authorization();
81 15
        $this->authorization->setNumber((int) substr($row, 41, 60));
82
83 15
        $this->dealership = new Dealership();
84
85 15
        $document = new Document();
86 15
        $document->setNumber((int) substr($row, 109, 11));
87
88 15
        $this->purchaser = new Purchaser();
89 15
        $this->purchaser->setDocument($document);
90
91 15
        $this->sequence = new Sequence((int) substr($row, 144, 6));
92 15
    }
93
94
    /**
95
     * @return ConsumerUnity
96
     */
97 1
    public function getConsumerUnity()
98
    {
99 1
        return $this->consumerUnity;
100
    }
101
102
    /**
103
     * @param ConsumerUnity $consumerUnity
104
     */
105 1
    public function setConsumerUnity(ConsumerUnity $consumerUnity)
106
    {
107 1
        $this->consumerUnity = $consumerUnity;
108 1
    }
109
110
    /**
111
     * @return Occurrence
112
     */
113 1
    public function getOccurrence()
114
    {
115 1
        return $this->occurrence;
116
    }
117
118
    /**
119
     * @param Occurrence $occurrence
120
     */
121 1
    public function setOccurrence(Occurrence $occurrence)
122
    {
123 1
        $this->occurrence = $occurrence;
124 1
    }
125
126
    /**
127
     * @return Parcel
128
     */
129 1
    public function getParcel()
130
    {
131 1
        return $this->parcel;
132
    }
133
134
    /**
135
     * @param Parcel $parcel
136
     */
137 1
    public function setParcel(Parcel $parcel)
138
    {
139 1
        $this->parcel = $parcel;
140 1
    }
141
142
    /**
143
     * @return Authorization
144
     */
145 1
    public function getAuthorization()
146
    {
147 1
        return $this->authorization;
148
    }
149
150
    /**
151
     * @param Authorization $authorization
152
     */
153 1
    public function setAuthorization(Authorization $authorization)
154
    {
155 1
        $this->authorization = $authorization;
156 1
    }
157
158
    /**
159
     * @return Dealership
160
     */
161 1
    public function getDealership()
162
    {
163 1
        return $this->dealership;
164
    }
165
166
    /**
167
     * @param Dealership $dealership
168
     */
169 1
    public function setDealership(Dealership $dealership)
170
    {
171 1
        $this->dealership = $dealership;
172 1
    }
173
174
    /**
175
     * @return Sequence
176
     */
177 1
    public function getSequence()
178
    {
179 1
        return $this->sequence;
180
    }
181
182
    /**
183
     * @param Sequence $sequence
184
     */
185 1
    public function setSequence(Sequence $sequence)
186
    {
187 1
        $this->sequence = $sequence;
188 1
    }
189
190
    /**
191
     * @return Purchaser
192
     */
193 1
    public function getPurchaser()
194
    {
195 1
        return $this->purchaser;
196
    }
197
198
    /**
199
     * @param Purchaser $purchaser
200
     */
201 1
    public function setPurchaser(Purchaser $purchaser)
202
    {
203 1
        $this->purchaser = $purchaser;
204 1
    }
205
}
206