|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* Created by PhpStorm. |
|
4
|
|
|
* User: Administrador |
|
5
|
|
|
* Date: 08/08/2017 |
|
6
|
|
|
* Time: 11:28 AM |
|
7
|
|
|
*/ |
|
8
|
|
|
|
|
9
|
|
|
namespace Greenter\Model\Perception; |
|
10
|
|
|
|
|
11
|
|
|
use Greenter\Model\Retention\Exchange; |
|
12
|
|
|
use Greenter\Model\Retention\Payment; |
|
13
|
|
|
use Greenter\Xml\Validator\PerceptionDetailValidator; |
|
14
|
|
|
use Symfony\Component\Validator\Constraints as Assert; |
|
15
|
|
|
|
|
16
|
|
|
/** |
|
17
|
|
|
* Class PerceptionDetail |
|
18
|
|
|
* @package Greenter\Model\Perception |
|
19
|
|
|
*/ |
|
20
|
|
View Code Duplication |
class PerceptionDetail |
|
|
|
|
|
|
21
|
|
|
{ |
|
22
|
|
|
use PerceptionDetailValidator; |
|
23
|
|
|
|
|
24
|
|
|
/** |
|
25
|
|
|
* Tipo de documento Relacionado. |
|
26
|
|
|
* |
|
27
|
|
|
* @Assert\NotBlank() |
|
28
|
|
|
* @Assert\Length(max="2") |
|
29
|
|
|
* @var string |
|
30
|
|
|
*/ |
|
31
|
|
|
private $tipoDoc; |
|
32
|
|
|
|
|
33
|
|
|
/** |
|
34
|
|
|
* Numero del documento relacionado (Serie-Correlativo). |
|
35
|
|
|
* |
|
36
|
|
|
* @Assert\NotBlank() |
|
37
|
|
|
* @Assert\Length(max="13") |
|
38
|
|
|
* @var string |
|
39
|
|
|
*/ |
|
40
|
|
|
private $numDoc; |
|
41
|
|
|
|
|
42
|
|
|
/** |
|
43
|
|
|
* Fecha de Emision del documento relacionado. |
|
44
|
|
|
* |
|
45
|
|
|
* @Assert\NotBlank() |
|
46
|
|
|
* @Assert\Date() |
|
47
|
|
|
* @var \DateTime |
|
48
|
|
|
*/ |
|
49
|
|
|
private $fechaEmision; |
|
50
|
|
|
|
|
51
|
|
|
/** |
|
52
|
|
|
* Importe total documento Relacionado. |
|
53
|
|
|
* |
|
54
|
|
|
* @Assert\NotBlank() |
|
55
|
|
|
* @var float |
|
56
|
|
|
*/ |
|
57
|
|
|
private $impTotal; |
|
58
|
|
|
|
|
59
|
|
|
/** |
|
60
|
|
|
* Moneda del docoumento relacionado. |
|
61
|
|
|
* |
|
62
|
|
|
* @Assert\NotBlank() |
|
63
|
|
|
* @Assert\Length(min="3", max="3") |
|
64
|
|
|
* @var string |
|
65
|
|
|
*/ |
|
66
|
|
|
private $moneda; |
|
67
|
|
|
|
|
68
|
|
|
/** |
|
69
|
|
|
* Datos del Cobro. |
|
70
|
|
|
* |
|
71
|
|
|
* @Assert\NotBlank() |
|
72
|
|
|
* @Assert\Valid() |
|
73
|
|
|
* @var Payment[] |
|
74
|
|
|
*/ |
|
75
|
|
|
private $cobros; |
|
76
|
|
|
|
|
77
|
|
|
/** |
|
78
|
|
|
* Fecha de Retención. |
|
79
|
|
|
* |
|
80
|
|
|
* @Assert\NotBlank() |
|
81
|
|
|
* @Assert\Date() |
|
82
|
|
|
* @var \DateTime |
|
83
|
|
|
*/ |
|
84
|
|
|
private $fechaPercepcion; |
|
85
|
|
|
|
|
86
|
|
|
/** |
|
87
|
|
|
* Importe Percibido. |
|
88
|
|
|
* |
|
89
|
|
|
* @Assert\NotBlank() |
|
90
|
|
|
* @var float |
|
91
|
|
|
*/ |
|
92
|
|
|
private $impPercibido; |
|
93
|
|
|
|
|
94
|
|
|
/** |
|
95
|
|
|
* Importe total a cobrar (neto). |
|
96
|
|
|
* |
|
97
|
|
|
* @Assert\NotBlank() |
|
98
|
|
|
* @var float |
|
99
|
|
|
*/ |
|
100
|
|
|
private $impCobrar; |
|
101
|
|
|
|
|
102
|
|
|
/** |
|
103
|
|
|
* @Assert\Valid() |
|
104
|
|
|
* @var Exchange |
|
105
|
|
|
*/ |
|
106
|
|
|
private $tipoCambio; |
|
107
|
|
|
|
|
108
|
|
|
/** |
|
109
|
|
|
* @return mixed |
|
110
|
|
|
*/ |
|
111
|
|
|
public function getTipoDoc() |
|
112
|
|
|
{ |
|
113
|
|
|
return $this->tipoDoc; |
|
114
|
|
|
} |
|
115
|
|
|
|
|
116
|
|
|
/** |
|
117
|
|
|
* @param mixed $tipoDoc |
|
118
|
|
|
* @return PerceptionDetail |
|
119
|
|
|
*/ |
|
120
|
|
|
public function setTipoDoc($tipoDoc) |
|
121
|
|
|
{ |
|
122
|
|
|
$this->tipoDoc = $tipoDoc; |
|
123
|
|
|
return $this; |
|
124
|
|
|
} |
|
125
|
|
|
|
|
126
|
|
|
/** |
|
127
|
|
|
* @return mixed |
|
128
|
|
|
*/ |
|
129
|
|
|
public function getNumDoc() |
|
130
|
|
|
{ |
|
131
|
|
|
return $this->numDoc; |
|
132
|
|
|
} |
|
133
|
|
|
|
|
134
|
|
|
/** |
|
135
|
|
|
* @param mixed $numDoc |
|
136
|
|
|
* @return PerceptionDetail |
|
137
|
|
|
*/ |
|
138
|
|
|
public function setNumDoc($numDoc) |
|
139
|
|
|
{ |
|
140
|
|
|
$this->numDoc = $numDoc; |
|
141
|
|
|
return $this; |
|
142
|
|
|
} |
|
143
|
|
|
|
|
144
|
|
|
/** |
|
145
|
|
|
* @return mixed |
|
146
|
|
|
*/ |
|
147
|
|
|
public function getFechaEmision() |
|
148
|
|
|
{ |
|
149
|
|
|
return $this->fechaEmision; |
|
150
|
|
|
} |
|
151
|
|
|
|
|
152
|
|
|
/** |
|
153
|
|
|
* @param mixed $fechaEmision |
|
154
|
|
|
* @return PerceptionDetail |
|
155
|
|
|
*/ |
|
156
|
|
|
public function setFechaEmision($fechaEmision) |
|
157
|
|
|
{ |
|
158
|
|
|
$this->fechaEmision = $fechaEmision; |
|
159
|
|
|
return $this; |
|
160
|
|
|
} |
|
161
|
|
|
|
|
162
|
|
|
/** |
|
163
|
|
|
* @return float |
|
164
|
|
|
*/ |
|
165
|
|
|
public function getImpTotal() |
|
166
|
|
|
{ |
|
167
|
|
|
return $this->impTotal; |
|
168
|
|
|
} |
|
169
|
|
|
|
|
170
|
|
|
/** |
|
171
|
|
|
* @param float $impTotal |
|
172
|
|
|
* @return PerceptionDetail |
|
173
|
|
|
*/ |
|
174
|
|
|
public function setImpTotal($impTotal) |
|
175
|
|
|
{ |
|
176
|
|
|
$this->impTotal = $impTotal; |
|
177
|
|
|
return $this; |
|
178
|
|
|
} |
|
179
|
|
|
|
|
180
|
|
|
/** |
|
181
|
|
|
* @return mixed |
|
182
|
|
|
*/ |
|
183
|
|
|
public function getMoneda() |
|
184
|
|
|
{ |
|
185
|
|
|
return $this->moneda; |
|
186
|
|
|
} |
|
187
|
|
|
|
|
188
|
|
|
/** |
|
189
|
|
|
* @param mixed $moneda |
|
190
|
|
|
* @return PerceptionDetail |
|
191
|
|
|
*/ |
|
192
|
|
|
public function setMoneda($moneda) |
|
193
|
|
|
{ |
|
194
|
|
|
$this->moneda = $moneda; |
|
195
|
|
|
return $this; |
|
196
|
|
|
} |
|
197
|
|
|
|
|
198
|
|
|
/** |
|
199
|
|
|
* @return mixed |
|
200
|
|
|
*/ |
|
201
|
|
|
public function getCobros() |
|
202
|
|
|
{ |
|
203
|
|
|
return $this->cobros; |
|
204
|
|
|
} |
|
205
|
|
|
|
|
206
|
|
|
/** |
|
207
|
|
|
* @param mixed $cobros |
|
208
|
|
|
* @return PerceptionDetail |
|
209
|
|
|
*/ |
|
210
|
|
|
public function setCobros($cobros) |
|
211
|
|
|
{ |
|
212
|
|
|
$this->cobros = $cobros; |
|
|
|
|
|
|
213
|
|
|
return $this; |
|
214
|
|
|
} |
|
215
|
|
|
|
|
216
|
|
|
/** |
|
217
|
|
|
* @return \DateTime |
|
218
|
|
|
*/ |
|
219
|
|
|
public function getFechaPercepcion() |
|
220
|
|
|
{ |
|
221
|
|
|
return $this->fechaPercepcion; |
|
222
|
|
|
} |
|
223
|
|
|
|
|
224
|
|
|
/** |
|
225
|
|
|
* @param \DateTime $fechaPercepcion |
|
226
|
|
|
* @return PerceptionDetail |
|
227
|
|
|
*/ |
|
228
|
|
|
public function setFechaPercepcion($fechaPercepcion) |
|
229
|
|
|
{ |
|
230
|
|
|
$this->fechaPercepcion = $fechaPercepcion; |
|
231
|
|
|
return $this; |
|
232
|
|
|
} |
|
233
|
|
|
|
|
234
|
|
|
/** |
|
235
|
|
|
* @return float |
|
236
|
|
|
*/ |
|
237
|
|
|
public function getImpPercibido() |
|
238
|
|
|
{ |
|
239
|
|
|
return $this->impPercibido; |
|
240
|
|
|
} |
|
241
|
|
|
|
|
242
|
|
|
/** |
|
243
|
|
|
* @param float $impPercibido |
|
244
|
|
|
* @return PerceptionDetail |
|
245
|
|
|
*/ |
|
246
|
|
|
public function setImpPercibido($impPercibido) |
|
247
|
|
|
{ |
|
248
|
|
|
$this->impPercibido = $impPercibido; |
|
249
|
|
|
return $this; |
|
250
|
|
|
} |
|
251
|
|
|
|
|
252
|
|
|
/** |
|
253
|
|
|
* @return float |
|
254
|
|
|
*/ |
|
255
|
|
|
public function getImpCobrar() |
|
256
|
|
|
{ |
|
257
|
|
|
return $this->impCobrar; |
|
258
|
|
|
} |
|
259
|
|
|
|
|
260
|
|
|
/** |
|
261
|
|
|
* @param float $impCobrar |
|
262
|
|
|
* @return PerceptionDetail |
|
263
|
|
|
*/ |
|
264
|
|
|
public function setImpCobrar($impCobrar) |
|
265
|
|
|
{ |
|
266
|
|
|
$this->impCobrar = $impCobrar; |
|
267
|
|
|
return $this; |
|
268
|
|
|
} |
|
269
|
|
|
|
|
270
|
|
|
/** |
|
271
|
|
|
* @return Exchange |
|
272
|
|
|
*/ |
|
273
|
|
|
public function getTipoCambio() |
|
274
|
|
|
{ |
|
275
|
|
|
return $this->tipoCambio; |
|
276
|
|
|
} |
|
277
|
|
|
|
|
278
|
|
|
/** |
|
279
|
|
|
* @param Exchange $tipoCambio |
|
280
|
|
|
* @return PerceptionDetail |
|
281
|
|
|
*/ |
|
282
|
|
|
public function setTipoCambio($tipoCambio) |
|
283
|
|
|
{ |
|
284
|
|
|
$this->tipoCambio = $tipoCambio; |
|
285
|
|
|
return $this; |
|
286
|
|
|
} |
|
287
|
|
|
} |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.