Passed
Push — master ( d67f2e...bc474a )
by João
12:37
created

ICMS::calcular()   F

Complexity

Conditions 28
Paths 139

Size

Total Lines 71
Code Lines 57

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 57
dl 0
loc 71
rs 3.8416
c 0
b 0
f 0
cc 28
nc 139
nop 5

How to fix   Long Method    Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gbbs\NfeCalculos;
6
7
use Exception;
8
9
class ICMS
10
{
11
    private $SUFRAMA;  // TODO not a tag
12
    private $Desconto;  // TODO not a tag
13
    private $Zerar;  // TODO not a tag
14
    private $CSTNotaRef;  // TODO not a tag
15
16
    private $orig;  //  Origem da mercadoria
17
    private $CST;  // Tributação do ICMS
18
    private $modBC;  // Modalidade de determinação da BC do ICMS
19
    private $pRedBC;  // Percentual da Redução de BC
20
    private $vBC;  // Valor da BC do ICMS
21
    private $pICMS;  // Alíquota do imposto
22
    private $vICMS;  // Valor do ICMS
23
    private $modBCST;  // Modalidade de determinação da BC do ICMS ST
24
    private $pMVAST;  // Percentual da margem de valor Adicionado do ICMS ST
25
    private $pRedBCST;  // Percentual da Redução de BC do ICMS ST
26
    private $vBCST;  // Valor da BC do ICMS ST
27
    private $pICMSST;  // Alíquota do imposto do ICMS ST
28
    private $vICMSST;  // Valor do ICMS ST
29
    private $UFST;  // UF para qual é devido o ICMS ST
30
    private $pBCop;  // Percentual da BC operação própria
31
    private $vBCSTRet;  // Valor da BC do ICMS Retido Anteriormente
32
    private $vICMSSTRet;  // Valor do ICMS Retido Anteriormente
33
    private $motDesICMS;  // Motivo da desoneração do ICMS
34
    private $vBCSTDest;  // Valor da BC do ICMS ST da UF destino
35
    private $vICMSSTDest;  // Valor do ICMS ST da UF destino
36
    private $pCredSN;  // Alíquota aplicável de cálculo do crédito (Simples Nacional)
37
    private $vCredICMSSN;  // Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL)
38
    private $vICMSDeson;  // Valor do ICMS da desoneração
39
    private $vICMSOp;  // Valor do ICMS da Operação
40
    private $pDif;  // percentual do diferimento
41
    private $vICMSDif;  // Valor do ICMS Diferido
42
    private $vBCFCP;  // Valor da Base de Cálculo do FCP
43
    private $pFCP;  // Percentual do FCP
44
    private $vFCP;  // Valor do FCP
45
    private $vBCFCPST;  // Valor da Base de Cálculo do FCP retido por Substituição Tributária
46
    private $pFCPST;  // Percentual do FCP retido por Substituição Tributária.
47
    private $vFCPST;  // Valor do FCP retido por Substituição Tributária
48
    private $vBCFCPSTRet;  // Valor da BC do FCP retido anteriormente por Substituição Tributária
49
    private $pFCPSTRet;  // Alíquota do FCP retido anteriormente por Substituição Tributária
50
    private $vFCPSTRet;  // Valor do FCP retido anteriormente por Substituição Tributária
51
    private $pST;  // Alíquota suportada pelo Consumidor Final
52
53
    /**
54
     * @param $ICMS
55
     * @param $pICMSST
56
     * @param $pMVAST
57
     * @param $reducao
58
     * @param $modBCST
59
     * @return ICMS
60
     * @throws Exception
61
     */
62
    public static function calcular(self $ICMS, $pICMSST, $pMVAST, $reducao, $modBCST): self
63
    {
64
        $ST = 0;
65
66
        //ZERAR IMPOSTO CASO ELE VENHA COM A FLAG ZERAR retorna 0
67
        if ($ICMS->Zerar === 1) {
68
            $ICMS->vICMSST = 0;
69
            $ICMS->vBCST = 0;
70
            $ICMS->pMVAST = 0;
71
            $ICMS->pICMSST = 0;
72
            return $ICMS;
73
        }
74
75
        //REDUÇÃO DO PERCENTUAL DA ALIQUOTA ICMS
76
        if ($reducao > 0 and $ICMS->getCST() === '51') {
77
            $ICMS->pICMS = $reducao;
78
        }
79
        if ($reducao > 0) {
80
            $ICMS->pICMSST = $reducao;
81
        } else {  // CASO NÃO HAJA REDUÇÃO, ELE IRÁ CALCULAR NORMALMENTE
82
            $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
83
        }
84
85
        if ($ICMS->getCST() === '00') {
86
            self::calcCST00($ICMS);
87
        } elseif ($ICMS->getCST() === '10') {
88
            self::calcCST10($ICMS, $pMVAST, $modBCST);
89
        } elseif ($ICMS->getCST() === '20') {
90
            self::calcCST20($ICMS);
91
        } elseif ($ICMS->getCST() === '30') {
92
            self::calcCST30($ICMS, $pICMSST, $pMVAST, $ST);
93
        } elseif ($ICMS->getCST() === '40') {
94
            self::calcCST40($ICMS);
95
        } elseif ($ICMS->getCST() === '41') {
96
            self::calcCST41($ICMS);
97
        } elseif ($ICMS->getCST() === '50') {
98
            self::calcCST50($ICMS);
99
        } elseif ($ICMS->getCST() === '51') {
100
            self::calcCST51($ICMS);
101
        } elseif ($ICMS->getCST() === '60') {
102
            self::calcCST60($ICMS);
103
        } elseif ($ICMS->getCST() === '70') {
104
            self::calcCST70($ICMS, $pICMSST, $pMVAST, $ST);
105
        } elseif ($ICMS->getCST() === '90') {
106
            self::calcCST90c($ICMS, $pMVAST, $modBCST);
107
        } elseif ($ICMS->getCST() === '101') {
108
            self::calcCSOSN101($ICMS);
109
        } elseif ($ICMS->getCST() === '102') {
110
            self::calcCSOSN102($ICMS);
111
        } elseif ($ICMS->getCST() === '103') {
112
            // FIXME Do nothing?
113
        } elseif ($ICMS->getCST() === '200') {
114
            self::calcCST200($ICMS);
115
        } elseif ($ICMS->getCST() === '201') {
116
            self::calcCSOSN201($ICMS, $pICMSST, $pMVAST, $ST);
117
        } elseif ($ICMS->getCST() === '202') {
118
            self::calcCSOSN202($ICMS, $pICMSST, $pMVAST, $ST);
119
        } elseif ($ICMS->getCST() === '203') {
120
            self::calcCSOSN203($ICMS, $pICMSST, $pMVAST, $ST);
121
        } elseif ($ICMS->getCST() === '300') {
122
            // FIXME Do nothing?
123
        } elseif ($ICMS->getCST() === '400') {
124
            // FIXME Do nothing?
125
        } elseif ($ICMS->getCST() === '500') {
126
            self::calcCSOSN500($ICMS);
127
        } elseif ($ICMS->getCST() === '900') {
128
            self::calcCSOSN900($ICMS, $pICMSST, $pMVAST, $ST);
129
        } else {
130
            throw new Exception('Erro ao calcular ICMS' . print_r($ICMS, true));
131
        }
132
        return $ICMS;
133
    }
134
135
    /*
136
     * @Calcula o Valor crédito do ICMS que pode ser aproveitado
137
     */
138
    private static function calcvCredICMSSN($ICMS)
139
    {
140
        return ($ICMS->vBC * $ICMS->pCredSN) / 100;
141
    }
142
143
    /*
144
     * @Calcula o Valor do ICMS
145
     */
146
    private static function calcvICMS($ICMS)
147
    {
148
        return $ICMS->vBC * ($ICMS->pICMS / 100);
149
    }
150
151
    /*
152
     * @Calcula o Valor do ICMSST
153
     */
154
    private static function calcvICMSST($ICMS, $pMVAST, $modBCST = null)
155
    {
156
        if ($modBCST === '6') {
157
            $ICMS->vICMS = self::calcvICMS($ICMS);
158
            return $ICMS->vBCST * ($ICMS->pICMSST / 100) - $ICMS->vICMS;
159
        }
160
161
        $ICMS->pMVAST = $pMVAST;
162
163
        if ($ICMS->pMVAST === '0') {
164
            return '0';
165
        }
166
167
        $ICMS->vICMS = self::calcvICMS($ICMS);
168
        $ICMS->vBCST = $ICMS->vBCST * (1 + ($ICMS->pMVAST / 100)); // VERIFICAR AQUI OQUE ESTÃO ACONTECENDO
169
        return ((($ICMS->vBCST - ($ICMS->vBCST * ((float)$ICMS->pRedBCST / 100)))) * ($ICMS->pICMSST / 100)) - $ICMS->vICMS;
170
    }
171
172
    private static function calcvICMSDesonIsento($ICMS)
173
    {
174
        $icms_normal = ($ICMS->vBC * ($ICMS->pICMS / 100));
175
        $ICMS->vICMSDeson = $icms_normal;
176
        return $ICMS->vICMSDeson;
177
    }
178
179
    private static function calcvICMSDeson($ICMS)
180
    {
181
        $icms_normal = ($ICMS->vBC * ($ICMS->pICMS / 100));
182
        $icms_reduzido = ($ICMS->vBC - ($ICMS->vBC * ($ICMS->pRedBC / 100))) * ($ICMS->pICMS / 100);
183
        $ICMS->vICMSDeson = $icms_normal - $icms_reduzido;
184
        return $ICMS->vICMSDeson;
185
    }
186
187
    /*
188
     * @Calcula  a redução na base de culculo do ICMS
189
     */
190
    private static function calcRedBC($ICMS)
191
    {
192
        $ICMS->vBC = $ICMS->vBC - ($ICMS->vBC * ((float)$ICMS->pRedBC / 100));
193
        return $ICMS->vBC;
194
    }
195
196
    /*
197
     * @Calcula  a redução na base de culculo do ICMSST
198
     */
199
    private static function calcRedBCST(self $ICMS): float
200
    {
201
        $ICMS->vBCST = $ICMS->vBCST - ($ICMS->vBCST * ((float)$ICMS->pRedBCST / 100));
202
        return $ICMS->vBCST;
203
    }
204
205
    /* /// SIMPLES NACIONAL /// */
206
    private static function calcCSOSN101($ICMS)
207
    {
208
        $ICMS->vCredICMSSN = self::calcvCredICMSSN($ICMS);
209
    }
210
211
    private static function calcCSOSN102($ICMS)
212
    {
213
        $ICMS->vBC = null;
214
        $ICMS->vICMS = null;
215
        $ICMS->vBCST = null;
216
        $ICMS->vBCSTRet = null;
217
        $ICMS->vICMSSTRet = null;
218
    }
219
220
    private static function calcCSOSN201($ICMS, $pICMSST, $pMVAST, $ST)
221
    {
222
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
223
        $ICMS->vCredICMSSN = self::calcvCredICMSSN($ICMS);
224
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
225
    }
226
227
    private static function calcCSOSN202($ICMS, $pICMSST, $pMVAST, $ST)
228
    {
229
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
230
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
231
    }
232
233
    private static function calcCSOSN203($ICMS, $pICMSST, $pMVAST, $ST)
234
    {
235
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
236
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
237
    }
238
239
    private static function calcCSOSN500($ICMS)
240
    {
241
        $ICMS->vBC = null;
242
        $ICMS->vICMS = null;
243
        $ICMS->vBCST = null;
244
        $ICMS->vICMSST = null;
245
    }
246
247
    private static function calcCSOSN900($ICMS, $pICMSST, $pMVAST, $ST)
248
    {
249
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
250
        $ICMS->vCredICMSSN = self::calcvCredICMSSN($ICMS);
251
        $ICMS->vICMS = (self::calcvICMS($ICMS));
252
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
253
    }
254
255
    /**
256
     * --- FUNCOES CALCULOS POR CST DO REGIME NORMAL ---
257
     * @param $ICMS
258
     * @throws Exception
259
     */
260
    private static function calcCST00(self $ICMS)
261
    {
262
        if ($ICMS->getModBC() === 0) {
263
            $ICMS->setVICMS(self::calcvICMS($ICMS));
264
        } else {
265
            throw new Exception('Not implemented');
266
        }
267
    }
268
269
    private static function calcCST200($ICMS)
270
    {
271
        $ICMS->vICMS = (self::calcvICMS($ICMS));
272
        $ICMS->vICMSST = 0;
273
        $ICMS->vBCST = 0;
274
        $ICMS->pMVAST = 0;
275
        $ICMS->pICMSST = 0;
276
    }
277
278
    private static function calcCST10($ICMS, $pMVAST, $modBCST)
279
    {
280
        $ICMS->vBCST = self::calcRedBCST($ICMS);
281
        $ICMS->vBC = self::calcRedBC($ICMS);
282
283
        $ICMS->vICMS = self::calcvICMS($ICMS);
284
        $ICMS->vICMSST = self::calcvICMSST($ICMS, $pMVAST, $modBCST);
285
    }
286
287
    private static function calcCST20($ICMS)
288
    {
289
        $ICMS->vICMSDeson = self::calcvICMSDeson($ICMS);
290
        $ICMS->vBC = self::calcRedBC($ICMS);
291
        $ICMS->vICMS = (self::calcvICMS($ICMS));
292
293
        $ICMS->vICMSST = 0;
294
        $ICMS->vBCST = 0;
295
        $ICMS->pMVAST = 0;
296
        $ICMS->pICMSST = 0;
297
    }
298
299
    private static function calcCST30($ICMS, $pICMSST, $pMVAST, $ST)
300
    {
301
        $ICMS->vBCST = self::calcRedBCST($ICMS);
302
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
303
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
304
    }
305
306
    private static function calcCST40($ICMS)
307
    {
308
        $ICMS->vICMSDeson = self::calcvICMSDesonIsento($ICMS);
309
        if ($ICMS->SUFRAMA === 1) {
310
            $ICMS->Desconto = $ICMS->vBC * ($ICMS->pICMS / 100);
311
        } else {
312
            $ICMS->Desconto = 0;
313
        }
314
315
        $ICMS->vBC = 0;
316
        $ICMS->vICMS = 0;
317
        $ICMS->pICMS = 0;
318
319
        $ICMS->vICMSST = 0;
320
        $ICMS->vBCST = 0;
321
        $ICMS->pMVAST = 0;
322
        $ICMS->pICMSST = 0;
323
    }
324
325
    private static function calcCST41($ICMS)
326
    {
327
        $ICMS->vICMSDeson = self::calcvICMSDesonIsento($ICMS);
328
        $ICMS->vBC = 0;
329
        $ICMS->vICMS = 0;
330
        $ICMS->pICMS = 0;
331
332
        $ICMS->vICMSST = 0;
333
        $ICMS->vBCST = 0;
334
        $ICMS->pMVAST = 0;
335
        $ICMS->pICMSST = 0;
336
    }
337
338
    private static function calcCST50($ICMS)
339
    {
340
        $ICMS->vBC = 0;
341
        $ICMS->vICMS = 0;
342
        $ICMS->pICMS = 0;
343
344
        $ICMS->vICMSST = 0;
345
        $ICMS->vBCST = 0;
346
        $ICMS->pMVAST = 0;
347
        $ICMS->pICMSST = 0;
348
    }
349
350
    private static function calcCST51($ICMS)
351
    {
352
        $ICMS->vBC = self::calcRedBC($ICMS);
353
        $ICMS->vICMS = (self::calcvICMS($ICMS));
354
355
        $ICMS->vICMSST = 0;
356
        $ICMS->vBCST = 0;
357
        $ICMS->pMVAST = 0;
358
        $ICMS->pICMSST = 0;
359
    }
360
361
    private static function calcCST60($ICMS)
362
    {
363
        $ICMS->vBC = 0;
364
        $ICMS->vICMS = 0;
365
        $ICMS->pICMS = 0;
366
        $ICMS->vICMSST = 0;
367
        $ICMS->vBCST = 0;
368
        $ICMS->pMVAST = 0;
369
        $ICMS->pICMSST = 0;
370
    }
371
372
    private static function calcCST70($ICMS, $pICMSST, $pMVAST, $ST)
373
    {
374
        $ICMS->vBCST = self::calcRedBCST($ICMS);
375
        $ICMS->vBC = self::calcRedBC($ICMS);
376
        $ICMS->pICMSST = $ST > 0 ? $ST : $pICMSST;
377
        $ICMS->vICMS = (self::calcvICMS($ICMS));
378
        $ICMS->vICMSST = (self::calcvICMSST($ICMS, $pMVAST));
379
    }
380
381
    private static function calcCST90c($ICMS, $pMVAST, $modBCST)
382
    {
383
        if ($ICMS->CSTNotaRef === '10') {
384
            $ICMS->vICMS = (self::calcvICMS($ICMS));
385
            $ICMS->vICMSST = self::calcvICMSST($ICMS, $pMVAST, $modBCST);
386
        } else {
387
            $ICMS->vICMS = (self::calcvICMS($ICMS));
388
        }
389
        $ICMS->vICMSDeson = self::calcvICMSDesonIsento($ICMS);
390
    }
391
392
    /**
393
     * @return string
394
     */
395
    public function getOrig(): string
396
    {
397
        return $this->orig;
398
    }
399
400
    /**
401
     * @param string $orig
402
     * 0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8;
403
     * 1 - Estrangeira - Importação direta, exceto a indicada no código 6;
404
     * 2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7;
405
     * 3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%;
406
     * 4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes;
407
     * 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%;
408
     * 6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural;
409
     * 7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante em lista da CAMEX e gás natural.
410
     * 8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%;
411
     */
412
    public function setOrig(string $orig): void
413
    {
414
        $this->orig = $orig;
415
    }
416
417
    /**
418
     * @return string
419
     */
420
    public function getCST(): string
421
    {
422
        return $this->CST;
423
    }
424
425
    /**
426
     * @param string $CST
427
     */
428
    public function setCST(string $CST): void
429
    {
430
        $this->CST = $CST;
431
    }
432
433
    /**
434
     * @return int
435
     * 0 - Margem Valor Agregado (%);
436
     * 1 - Pauta (valor);
437
     * 2 - Preço Tabelado Máximo (valor);
438
     * 3 - Valor da Operação.
439
     */
440
    public function getModBC(): int
441
    {
442
        return $this->modBC;
443
    }
444
445
    /**
446
     * @param int $modBC
447
     */
448
    public function setModBC(int $modBC): void
449
    {
450
        $this->modBC = $modBC;
451
    }
452
453
    /**
454
     * @return float
455
     */
456
    public function getPRedBC(): float
457
    {
458
        return $this->pRedBC;
459
    }
460
461
    /**
462
     * @param float $pRedBC
463
     */
464
    public function setPRedBC(float $pRedBC): void
465
    {
466
        $this->pRedBC = $pRedBC;
467
    }
468
469
    /**
470
     * @return float
471
     */
472
    public function getVBC(): float
473
    {
474
        return $this->vBC;
475
    }
476
477
    /**
478
     * @param float $vBC
479
     */
480
    public function setVBC(float $vBC): void
481
    {
482
        $this->vBC = $vBC;
483
    }
484
485
    /**
486
     * @return float
487
     */
488
    public function getPICMS(): float
489
    {
490
        return $this->pICMS;
491
    }
492
493
    /**
494
     * @param float $pICMS
495
     */
496
    public function setPICMS(float $pICMS): void
497
    {
498
        $this->pICMS = $pICMS;
499
    }
500
501
    /**
502
     * @return float
503
     */
504
    public function getVICMS(): float
505
    {
506
        return $this->vICMS;
507
    }
508
509
    /**
510
     * @param float $vICMS
511
     */
512
    public function setVICMS(float $vICMS): void
513
    {
514
        $this->vICMS = $vICMS;
515
    }
516
517
    /**
518
     * @return int
519
     */
520
    public function getModBCST(): int
521
    {
522
        return $this->modBCST;
523
    }
524
525
    /**
526
     * @param int $modBCST
527
     */
528
    public function setModBCST(int $modBCST): void
529
    {
530
        $this->modBCST = $modBCST;
531
    }
532
533
    /**
534
     * @return float
535
     */
536
    public function getPMVAST(): float
537
    {
538
        return $this->pMVAST;
539
    }
540
541
    /**
542
     * @param float $pMVAST
543
     */
544
    public function setPMVAST(float $pMVAST): void
545
    {
546
        $this->pMVAST = $pMVAST;
547
    }
548
549
    /**
550
     * @return float
551
     */
552
    public function getPRedBCST(): float
553
    {
554
        return $this->pRedBCST;
555
    }
556
557
    /**
558
     * @param float $pRedBCST
559
     */
560
    public function setPRedBCST(float $pRedBCST): void
561
    {
562
        $this->pRedBCST = $pRedBCST;
563
    }
564
565
    /**
566
     * @return float
567
     */
568
    public function getVBCST(): float
569
    {
570
        return $this->vBCST;
571
    }
572
573
    /**
574
     * @param float $vBCST
575
     */
576
    public function setVBCST(float $vBCST): void
577
    {
578
        $this->vBCST = $vBCST;
579
    }
580
581
    /**
582
     * @return float
583
     */
584
    public function getPICMSST(): float
585
    {
586
        return $this->pICMSST;
587
    }
588
589
    /**
590
     * @param float $pICMSST
591
     */
592
    public function setPICMSST(float $pICMSST): void
593
    {
594
        $this->pICMSST = $pICMSST;
595
    }
596
597
    /**
598
     * @return float
599
     */
600
    public function getVICMSST(): float
601
    {
602
        return $this->vICMSST;
603
    }
604
605
    /**
606
     * @param mixed $vICMSST
607
     */
608
    public function setVICMSST(float $vICMSST): void
609
    {
610
        $this->vICMSST = $vICMSST;
611
    }
612
613
    /**
614
     * @return string
615
     */
616
    public function getUFST(): string
617
    {
618
        return $this->UFST;
619
    }
620
621
    /**
622
     * @param string $UFST
623
     */
624
    public function setUFST(string $UFST): void
625
    {
626
        $this->UFST = $UFST;
627
    }
628
629
    /**
630
     * @return float
631
     */
632
    public function getPBCop(): float
633
    {
634
        return $this->pBCop;
635
    }
636
637
    /**
638
     * @param float $pBCop
639
     */
640
    public function setPBCop(float $pBCop): void
641
    {
642
        $this->pBCop = $pBCop;
643
    }
644
645
    /**
646
     * @return float
647
     */
648
    public function getVBCSTRet(): float
649
    {
650
        return $this->vBCSTRet;
651
    }
652
653
    /**
654
     * @param float $vBCSTRet
655
     */
656
    public function setVBCSTRet(float $vBCSTRet): void
657
    {
658
        $this->vBCSTRet = $vBCSTRet;
659
    }
660
661
    /**
662
     * @return float
663
     */
664
    public function getVICMSSTRet(): float
665
    {
666
        return $this->vICMSSTRet;
667
    }
668
669
    /**
670
     * @param float $vICMSSTRet
671
     */
672
    public function setVICMSSTRet(float $vICMSSTRet): void
673
    {
674
        $this->vICMSSTRet = $vICMSSTRet;
675
    }
676
677
    /**
678
     * @return int
679
     */
680
    public function getMotDesICMS(): int
681
    {
682
        return $this->motDesICMS;
683
    }
684
685
    /**
686
     * @param int $motDesICMS
687
     */
688
    public function setMotDesICMS(int $motDesICMS): void
689
    {
690
        $this->motDesICMS = $motDesICMS;
691
    }
692
693
    /**
694
     * @return float
695
     */
696
    public function getVBCSTDest(): float
697
    {
698
        return $this->vBCSTDest;
699
    }
700
701
    /**
702
     * @param float $vBCSTDest
703
     */
704
    public function setVBCSTDest(float $vBCSTDest): void
705
    {
706
        $this->vBCSTDest = $vBCSTDest;
707
    }
708
709
    /**
710
     * @return float
711
     */
712
    public function getVICMSSTDest(): float
713
    {
714
        return $this->vICMSSTDest;
715
    }
716
717
    /**
718
     * @param float $vICMSSTDest
719
     */
720
    public function setVICMSSTDest(float $vICMSSTDest): void
721
    {
722
        $this->vICMSSTDest = $vICMSSTDest;
723
    }
724
725
    /**
726
     * @return float
727
     */
728
    public function getPCredSN(): float
729
    {
730
        return $this->pCredSN;
731
    }
732
733
    /**
734
     * @param float $pCredSN
735
     */
736
    public function setPCredSN(float $pCredSN): void
737
    {
738
        $this->pCredSN = $pCredSN;
739
    }
740
741
    /**
742
     * @return float
743
     */
744
    public function getVCredICMSSN(): float
745
    {
746
        return $this->vCredICMSSN;
747
    }
748
749
    /**
750
     * @param float $vCredICMSSN
751
     */
752
    public function setVCredICMSSN(float $vCredICMSSN): void
753
    {
754
        $this->vCredICMSSN = $vCredICMSSN;
755
    }
756
757
    /**
758
     * @return float
759
     */
760
    public function getVICMSDeson(): float
761
    {
762
        return $this->vICMSDeson;
763
    }
764
765
    /**
766
     * @param float $vICMSDeson
767
     */
768
    public function setVICMSDeson(float $vICMSDeson): void
769
    {
770
        $this->vICMSDeson = $vICMSDeson;
771
    }
772
773
    /**
774
     * @return float
775
     */
776
    public function getVICMSOp(): float
777
    {
778
        return $this->vICMSOp;
779
    }
780
781
    /**
782
     * @param float $vICMSOp
783
     */
784
    public function setVICMSOp(float $vICMSOp): void
785
    {
786
        $this->vICMSOp = $vICMSOp;
787
    }
788
789
    /**
790
     * @return float
791
     */
792
    public function getPDif(): float
793
    {
794
        return $this->pDif;
795
    }
796
797
    /**
798
     * @param float $pDif
799
     */
800
    public function setPDif(float $pDif): void
801
    {
802
        $this->pDif = $pDif;
803
    }
804
805
    /**
806
     * @return float
807
     */
808
    public function getVICMSDif(): float
809
    {
810
        return $this->vICMSDif;
811
    }
812
813
    /**
814
     * @param float $vICMSDif
815
     */
816
    public function setVICMSDif(float $vICMSDif): void
817
    {
818
        $this->vICMSDif = $vICMSDif;
819
    }
820
821
    /**
822
     * @return float
823
     */
824
    public function getVBCFCP(): float
825
    {
826
        return $this->vBCFCP;
827
    }
828
829
    /**
830
     * @param float $vBCFCP
831
     */
832
    public function setVBCFCP(float $vBCFCP): void
833
    {
834
        $this->vBCFCP = $vBCFCP;
835
    }
836
837
    /**
838
     * @return float
839
     */
840
    public function getPFCP(): float
841
    {
842
        return $this->pFCP;
843
    }
844
845
    /**
846
     * @param float $pFCP
847
     */
848
    public function setPFCP(float $pFCP): void
849
    {
850
        $this->pFCP = $pFCP;
851
    }
852
853
    /**
854
     * @return float
855
     */
856
    public function getVFCP(): float
857
    {
858
        return $this->vFCP;
859
    }
860
861
    /**
862
     * @param float $vFCP
863
     */
864
    public function setVFCP(float $vFCP): void
865
    {
866
        $this->vFCP = $vFCP;
867
    }
868
869
    /**
870
     * @return float
871
     */
872
    public function getVBCFCPST(): float
873
    {
874
        return $this->vBCFCPST;
875
    }
876
877
    /**
878
     * @param float $vBCFCPST
879
     */
880
    public function setVBCFCPST(float $vBCFCPST): void
881
    {
882
        $this->vBCFCPST = $vBCFCPST;
883
    }
884
885
    /**
886
     * @return float
887
     */
888
    public function getPFCPST(): float
889
    {
890
        return $this->pFCPST;
891
    }
892
893
    /**
894
     * @param float $pFCPST
895
     */
896
    public function setPFCPST(float $pFCPST): void
897
    {
898
        $this->pFCPST = $pFCPST;
899
    }
900
901
    /**
902
     * @return float
903
     */
904
    public function getVFCPST(): float
905
    {
906
        return $this->vFCPST;
907
    }
908
909
    /**
910
     * @param float $vFCPST
911
     */
912
    public function setVFCPST(float $vFCPST): void
913
    {
914
        $this->vFCPST = $vFCPST;
915
    }
916
917
    /**
918
     * @return float
919
     */
920
    public function getVBCFCPSTRet(): float
921
    {
922
        return $this->vBCFCPSTRet;
923
    }
924
925
    /**
926
     * @param float $vBCFCPSTRet
927
     */
928
    public function setVBCFCPSTRet(float $vBCFCPSTRet): void
929
    {
930
        $this->vBCFCPSTRet = $vBCFCPSTRet;
931
    }
932
933
    /**
934
     * @return float
935
     */
936
    public function getPFCPSTRet(): float
937
    {
938
        return $this->pFCPSTRet;
939
    }
940
941
    /**
942
     * @param float $pFCPSTRet
943
     */
944
    public function setPFCPSTRet(float $pFCPSTRet): void
945
    {
946
        $this->pFCPSTRet = $pFCPSTRet;
947
    }
948
949
    /**
950
     * @return float
951
     */
952
    public function getVFCPSTRet(): float
953
    {
954
        return $this->vFCPSTRet;
955
    }
956
957
    /**
958
     * @param float $vFCPSTRet
959
     */
960
    public function setVFCPSTRet(float $vFCPSTRet): void
961
    {
962
        $this->vFCPSTRet = $vFCPSTRet;
963
    }
964
965
    /**
966
     * @return float
967
     */
968
    public function getPST(): float
969
    {
970
        return $this->pST;
971
    }
972
973
    /**
974
     * @param float $pST
975
     */
976
    public function setPST(float $pST): void
977
    {
978
        $this->pST = $pST;
979
    }
980
}
981