Test Setup Failed
Push — master ( b44967...99ee47 )
by JAIME ELMER
03:11
created

src/UblComponent/Invoice.php (3 issues)

1
<?php
2
3
/**
4
 * FACTURA ELECTRÓNICA SUNAT
5
 * UBL 2.1
6
 * Version 1.0
7
 * 
8
 * Copyright 2018, Jaime Cruz
9
 */
10
namespace F72X\UblComponent;
11
12
use DateTime;
13
14
abstract class Invoice extends BaseComponent {
15
16
    /** @var UBLExtensions */
17
    protected $UBLExtensions;
18
    protected $ProfileID;
19
    protected $ID;
20
21
22
    /** @var DateTime */
23
    protected $IssueDate;
24
25
    /** @var DateTime */
26
    protected $DueDate;
27
    protected $InvoiceTypeCode;
28
29
    /** @var array[Note] */
0 ignored issues
show
Documentation Bug introduced by
The doc comment array[Note] at position 1 could not be parsed: Expected ']' at position 1, but found '['.
Loading history...
30
    protected $Notes = [];
31
    protected $DocumentCurrencyCode;
32
    protected $languageLocaleID;
33
    protected $LineCountNumeric;
34
35
    /** @var OrderReference */
36
    protected $OrderReference;
37
38
    /** @var Signature */
39
    protected $Signature;
40
41
    /** @var AccountingSupplierParty */
42
    protected $AccountingSupplierParty;
43
44
    /** @var AccountingCustomerParty */
45
    protected $AccountingCustomerParty;
46
47
    /** @var DespatchDocumentReference */
48
    protected $DespatchDocumentReference;
49
50
    /** @var AllowanceCharge[] */
51
    protected $AllowanceCharges = [];
52
53
    /** @var TaxTotal */
54
    protected $TaxTotal;
55
56
    /** @var LegalMonetaryTotal */
57
    protected $LegalMonetaryTotal;
58
59
    /** @var InvoiceLine[] */
60
    protected $InvoiceLines = [];
61
62
    public function getUBLExtensions() {
63
        return $this->UBLExtensions;
64
    }
65
66
    public function setUBLExtensions($UBLExtensions) {
67
        $this->UBLExtensions = $UBLExtensions;
68
        return $this;
69
    }
70
71
    public function getProfileID() {
72
        return $this->ProfileID;
73
    }
74
75
    public function setProfileID($ProfileID) {
76
        $this->ProfileID = $ProfileID;
77
        return $this;
78
    }
79
80
    public function getID() {
81
        return $this->ID;
82
    }
83
84
    public function setID($ID) {
85
        $this->ID = $ID;
86
        return $this;
87
    }
88
89
    public function getIssueDate() {
90
        return $this->IssueDate;
91
    }
92
93
    public function setIssueDate(DateTime $IssueDate) {
94
        $this->IssueDate = $IssueDate;
95
    }
96
97
    public function getDueDate() {
98
        return $this->DueDate;
99
    }
100
101
    public function setDueDate(DateTime $DueDate) {
102
        $this->DueDate = $DueDate;
103
    }
104
105
    public function getInvoiceTypeCode() {
106
        return $this->InvoiceTypeCode;
107
    }
108
109
    public function setInvoiceTypeCode($InvoiceTypeCode) {
110
        $this->InvoiceTypeCode = $InvoiceTypeCode;
111
        return $this;
112
    }
113
114
    public function getNotes() {
115
        return $this->Notes;
116
    }
117
118
    public function setNotes($Notes) {
119
        $this->Notes = $Notes;
120
        return $this;
121
    }
122
123
    /**
124
     * 
125
     * @param Note $Note
126
     * @return $this
127
     */
128
    public function addNote(Note $Note) {
129
        $this->Notes[] = $Note;
130
        return $this;
131
    }
132
133
    public function getDocumentCurrencyCode() {
134
        return $this->DocumentCurrencyCode;
135
    }
136
137
    public function setDocumentCurrencyCode($DocumentCurrencyCode) {
138
        $this->DocumentCurrencyCode = $DocumentCurrencyCode;
139
        return $this;
140
    }
141
142
    public function getLineCountNumeric() {
143
        return $this->LineCountNumeric;
144
    }
145
146
    public function setLineCountNumeric($LineCountNumeric) {
147
        $this->LineCountNumeric = $LineCountNumeric;
148
    }
149
150
    public function getOrderReference() {
151
        return $this->OrderReference;
152
    }
153
154
    public function setOrderReference(OrderReference $OrderReference) {
155
        $this->OrderReference = $OrderReference;
156
    }
157
158
    public function getSignature() {
159
        return $this->Signature;
160
    }
161
162
    public function setSignature(Signature $Signature) {
163
        $this->Signature = $Signature;
164
        return $this;
165
    }
166
167
    public function getAccountingSupplierParty() {
168
        return $this->AccountingSupplierParty;
169
    }
170
171
    public function setAccountingSupplierParty(AccountingSupplierParty $AccountingSupplierParty) {
172
        $this->AccountingSupplierParty = $AccountingSupplierParty;
173
        return $this;
174
    }
175
176
    public function getAccountingCustomerParty() {
177
        return $this->AccountingCustomerParty;
178
    }
179
180
    public function setAccountingCustomerParty(AccountingCustomerParty $AccountingCustomerParty) {
181
        $this->AccountingCustomerParty = $AccountingCustomerParty;
182
        return $this;
183
    }
184
185
    public function getDespatchDocumentReference() {
186
        return $this->DespatchDocumentReference;
187
    }
188
189
    public function setDespatchDocumentReference(DespatchDocumentReference $DespatchDocumentReference) {
190
        $this->DespatchDocumentReference = $DespatchDocumentReference;
191
    }
192
193
    public function getAllowanceCharges() {
194
        return $this->AllowanceCharges;
195
    }
196
197
    public function setAllowanceCharges(AllowanceCharges $AllowanceCharges) {
0 ignored issues
show
The type F72X\UblComponent\AllowanceCharges was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
198
        $this->AllowanceCharges = $AllowanceCharges;
0 ignored issues
show
Documentation Bug introduced by
It seems like $AllowanceCharges of type F72X\UblComponent\AllowanceCharges is incompatible with the declared type F72X\UblComponent\AllowanceCharge[] of property $AllowanceCharges.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
199
        return $this;
200
    }
201
202
    /**
203
     * 
204
     * @param AllowanceCharge $AllowanceCharge
205
     * @return $this
206
     */
207
    public function addAllowanceCharge(AllowanceCharge $AllowanceCharge) {
208
        $this->AllowanceCharges[] = $AllowanceCharge;
209
        return $this;
210
    }
211
212
    public function getTaxTotal() {
213
        return $this->TaxTotal;
214
    }
215
216
    public function setTaxTotal(TaxTotal $TaxTotal) {
217
        $this->TaxTotal = $TaxTotal;
218
        return $this;
219
    }
220
221
    public function getLegalMonetaryTotal() {
222
        return $this->LegalMonetaryTotal;
223
    }
224
225
    public function setLegalMonetaryTotal(LegalMonetaryTotal $LegalMonetaryTotal) {
226
        $this->LegalMonetaryTotal = $LegalMonetaryTotal;
227
        return $this;
228
    }
229
230
    public function getInvoiceLines() {
231
        return $this->InvoiceLines;
232
    }
233
234
    public function setInvoiceLines($InvoiceLines) {
235
        $this->InvoiceLines = $InvoiceLines;
236
        return $this;
237
    }
238
239
    public function addInvoiceLine(InvoiceLine $InvoiceLine) {
240
        $this->InvoiceLines[] = $InvoiceLine;
241
        return $this;
242
    }
243
244
}
245