1 | <?php |
||
37 | class Parcial extends Base |
||
38 | { |
||
39 | |||
40 | /** |
||
41 | * Modalidade de determinação da BC do ICMS ST: |
||
42 | * 0 – Preço tabelado ou |
||
43 | * máximo sugerido; |
||
44 | * 1 - Lista Negativa (valor); |
||
45 | * 2 - Lista Positiva |
||
46 | * (valor); |
||
47 | * 3 - Lista Neutra (valor); |
||
48 | * 4 - Margem Valor Agregado (%); |
||
49 | * 5 - |
||
50 | * Pauta (valor). |
||
51 | */ |
||
52 | const MODALIDADE_TABELADO = 'tabelado'; |
||
53 | const MODALIDADE_NEGATIVO = 'negativo'; |
||
54 | const MODALIDADE_POSITIVO = 'positivo'; |
||
55 | const MODALIDADE_NEUTRO = 'neutro'; |
||
56 | const MODALIDADE_AGREGADO = 'agregado'; |
||
57 | const MODALIDADE_PAUTA = 'pauta'; |
||
58 | |||
59 | private $modalidade; |
||
60 | private $margem; |
||
61 | private $reducao; |
||
62 | |||
63 | 64 | public function __construct($parcial = array()) |
|
68 | |||
69 | /** |
||
70 | * Modalidade de determinação da BC do ICMS ST: |
||
71 | * 0 – Preço tabelado ou |
||
72 | * máximo sugerido; |
||
73 | * 1 - Lista Negativa (valor); |
||
74 | * 2 - Lista Positiva |
||
75 | * (valor); |
||
76 | * 3 - Lista Neutra (valor); |
||
77 | * 4 - Margem Valor Agregado (%); |
||
78 | * 5 - |
||
79 | * Pauta (valor). |
||
80 | */ |
||
81 | 63 | public function getModalidade($normalize = false) |
|
82 | { |
||
83 | 63 | if (!$normalize) { |
|
84 | 61 | return $this->modalidade; |
|
85 | } |
||
86 | 16 | switch ($this->modalidade) { |
|
87 | 16 | case self::MODALIDADE_TABELADO: |
|
88 | return '0'; |
||
89 | 16 | case self::MODALIDADE_NEGATIVO: |
|
90 | return '1'; |
||
91 | 16 | case self::MODALIDADE_POSITIVO: |
|
92 | return '2'; |
||
93 | 16 | case self::MODALIDADE_NEUTRO: |
|
94 | return '3'; |
||
95 | 16 | case self::MODALIDADE_AGREGADO: |
|
96 | 8 | return '4'; |
|
97 | 8 | case self::MODALIDADE_PAUTA: |
|
98 | return '5'; |
||
99 | 8 | } |
|
100 | 8 | return $this->modalidade; |
|
101 | } |
||
102 | |||
103 | 64 | public function setModalidade($modalidade) |
|
108 | |||
109 | 30 | public function getMargem($normalize = false) |
|
116 | |||
117 | 64 | public function setMargem($margem) |
|
122 | |||
123 | 30 | public function getReducao($normalize = false) |
|
130 | |||
131 | 64 | public function setReducao($reducao) |
|
136 | |||
137 | 22 | public function toArray($recursive = false) |
|
138 | { |
||
139 | 22 | $parcial = parent::toArray($recursive); |
|
140 | 22 | $parcial['modalidade'] = $this->getModalidade(); |
|
141 | 22 | $parcial['margem'] = $this->getMargem(); |
|
142 | 22 | $parcial['reducao'] = $this->getReducao(); |
|
143 | 22 | return $parcial; |
|
144 | } |
||
145 | |||
146 | 64 | public function fromArray($parcial = array()) |
|
147 | { |
||
148 | 64 | if ($parcial instanceof Parcial) { |
|
149 | 1 | $parcial = $parcial->toArray(); |
|
150 | 64 | } elseif (!is_array($parcial)) { |
|
151 | 1 | return $this; |
|
152 | } |
||
153 | 64 | parent::fromArray($parcial); |
|
154 | 64 | if (isset($parcial['modalidade'])) { |
|
155 | 8 | $this->setModalidade($parcial['modalidade']); |
|
156 | 8 | } else { |
|
157 | 64 | $this->setModalidade(null); |
|
158 | } |
||
159 | 64 | if (isset($parcial['margem'])) { |
|
160 | 8 | $this->setMargem($parcial['margem']); |
|
161 | 8 | } else { |
|
162 | 64 | $this->setMargem(null); |
|
163 | } |
||
164 | 64 | if (isset($parcial['reducao'])) { |
|
165 | 8 | $this->setReducao($parcial['reducao']); |
|
166 | 8 | } else { |
|
167 | 64 | $this->setReducao(null); |
|
168 | } |
||
169 | 64 | return $this; |
|
170 | } |
||
171 | |||
172 | 12 | public function getNode($name = null) |
|
186 | |||
187 | 6 | public function loadNode($element, $name = null) |
|
188 | { |
||
248 | } |
||
249 |