Complex classes like Nota often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use Nota, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
46 | abstract class Nota implements Node |
||
47 | { |
||
48 | |||
49 | /** |
||
50 | * Versão da nota fiscal |
||
51 | */ |
||
52 | const VERSAO = '3.10'; |
||
53 | |||
54 | /** |
||
55 | * Versão do aplicativo gerador da nota |
||
56 | */ |
||
57 | const APP_VERSAO = '1.0'; |
||
58 | |||
59 | /** |
||
60 | * Portal da nota fiscal |
||
61 | */ |
||
62 | const PORTAL = 'http://www.portalfiscal.inf.br/nfe'; |
||
63 | |||
64 | /** |
||
65 | * Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e. |
||
66 | */ |
||
67 | const MODELO_NFE = 'nfe'; |
||
68 | const MODELO_NFCE = 'nfce'; |
||
69 | |||
70 | /** |
||
71 | * Tipo do Documento Fiscal (0 - entrada; 1 - saída) |
||
72 | */ |
||
73 | const TIPO_ENTRADA = 'entrada'; |
||
74 | const TIPO_SAIDA = 'saida'; |
||
75 | |||
76 | /** |
||
77 | * Identificador de Local de destino da operação |
||
78 | * (1-Interna;2-Interestadual;3-Exterior) |
||
79 | */ |
||
80 | const DESTINO_INTERNA = 'interna'; |
||
81 | const DESTINO_INTERESTADUAL = 'interestadual'; |
||
82 | const DESTINO_EXTERIOR = 'exterior'; |
||
83 | |||
84 | /** |
||
85 | * Indicador da forma de pagamento: 0 – pagamento à vista; 1 – pagamento à |
||
86 | * prazo; 2 – outros. |
||
87 | */ |
||
88 | const INDICADOR_AVISTA = 'avista'; |
||
89 | const INDICADOR_APRAZO = 'aprazo'; |
||
90 | const INDICADOR_OUTROS = 'outros'; |
||
91 | |||
92 | /** |
||
93 | * Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe |
||
94 | * Paisagem;3-DANFe Simplificado;4-DANFe NFC-e;5-DANFe NFC-e em mensagem |
||
95 | * eletrônica) |
||
96 | */ |
||
97 | const FORMATO_NENHUMA = 'nenhuma'; |
||
98 | const FORMATO_RETRATO = 'retrato'; |
||
99 | const FORMATO_PAISAGEM = 'paisagem'; |
||
100 | const FORMATO_SIMPLIFICADO = 'simplificado'; |
||
101 | const FORMATO_CONSUMIDOR = 'consumidor'; |
||
102 | const FORMATO_MENSAGEM = 'mensagem'; |
||
103 | |||
104 | /** |
||
105 | * Forma de emissão da NF-e |
||
106 | */ |
||
107 | const EMISSAO_NORMAL = 'normal'; |
||
108 | const EMISSAO_CONTINGENCIA = 'contingencia'; |
||
109 | |||
110 | /** |
||
111 | * Identificação do Ambiente: 1 - Produção, 2 - Homologação |
||
112 | */ |
||
113 | const AMBIENTE_PRODUCAO = 'producao'; |
||
114 | const AMBIENTE_HOMOLOGACAO = 'homologacao'; |
||
115 | |||
116 | /** |
||
117 | * Finalidade da emissão da NF-e: 1 - NFe normal, 2 - NFe complementar, 3 - |
||
118 | * NFe de ajuste, 4 - Devolução/Retorno |
||
119 | */ |
||
120 | const FINALIDADE_NORMAL = 'normal'; |
||
121 | const FINALIDADE_COMPLEMENTAR = 'complementar'; |
||
122 | const FINALIDADE_AJUSTE = 'ajuste'; |
||
123 | const FINALIDADE_RETORNO = 'retorno'; |
||
124 | |||
125 | /** |
||
126 | * Indicador de presença do comprador no estabelecimento comercial no |
||
127 | * momento da oepração (0-Não se aplica, ex.: Nota Fiscal complementar ou |
||
128 | * de ajuste;1-Operação presencial;2-Não presencial, internet;3-Não |
||
129 | * presencial, teleatendimento;4-NFC-e entrega em domicílio;9-Não |
||
130 | * presencial, outros) |
||
131 | */ |
||
132 | const PRESENCA_NENHUM = 'nenhum'; |
||
133 | const PRESENCA_PRESENCIAL = 'presencial'; |
||
134 | const PRESENCA_INTERNET = 'internet'; |
||
135 | const PRESENCA_TELEATENDIMENTO = 'teleatendimento'; |
||
136 | const PRESENCA_ENTREGA = 'entrega'; |
||
137 | const PRESENCA_OUTROS = 'outros'; |
||
138 | |||
139 | /** |
||
140 | * Chave da nota fiscal |
||
141 | */ |
||
142 | private $id; |
||
143 | /** |
||
144 | * Número do Documento Fiscal |
||
145 | */ |
||
146 | private $numero; |
||
147 | /** |
||
148 | * Emitente da nota fiscal |
||
149 | */ |
||
150 | private $emitente; |
||
151 | /** |
||
152 | * Destinatário que receberá os produtos |
||
153 | */ |
||
154 | private $destinatario; |
||
155 | /** |
||
156 | * Produtos adicionados na nota |
||
157 | */ |
||
158 | private $produtos; |
||
159 | /** |
||
160 | * Informações de trasnporte da mercadoria |
||
161 | */ |
||
162 | private $transporte; |
||
163 | /** |
||
164 | * Pagamentos realizados |
||
165 | */ |
||
166 | private $pagamentos; |
||
167 | /** |
||
168 | * Data e Hora da saída ou de entrada da mercadoria / produto |
||
169 | */ |
||
170 | private $data_movimentacao; |
||
171 | /** |
||
172 | * Informar a data e hora de entrada em contingência |
||
173 | */ |
||
174 | private $data_contingencia; |
||
175 | /** |
||
176 | * Informar a Justificativa da entrada em contingência |
||
177 | */ |
||
178 | private $justificativa; |
||
179 | /** |
||
180 | * Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e. |
||
181 | */ |
||
182 | private $modelo; |
||
183 | /** |
||
184 | * Tipo do Documento Fiscal (0 - entrada; 1 - saída) |
||
185 | */ |
||
186 | private $tipo; |
||
187 | /** |
||
188 | * Identificador de Local de destino da operação |
||
189 | * (1-Interna;2-Interestadual;3-Exterior) |
||
190 | */ |
||
191 | private $destino; |
||
192 | /** |
||
193 | * Descrição da Natureza da Operação |
||
194 | */ |
||
195 | private $natureza; |
||
196 | /** |
||
197 | * Código numérico que compõe a Chave de Acesso. Número aleatório gerado |
||
198 | * pelo emitente para cada NF-e. |
||
199 | */ |
||
200 | private $codigo; |
||
201 | /** |
||
202 | * Indicador da forma de pagamento: 0 – pagamento à vista; 1 – pagamento à |
||
203 | * prazo; 2 – outros. |
||
204 | */ |
||
205 | private $indicador; |
||
206 | /** |
||
207 | * Data e Hora de emissão do Documento Fiscal |
||
208 | */ |
||
209 | private $data_emissao; |
||
210 | /** |
||
211 | * Série do Documento Fiscal: série normal 0-889, Avulsa Fisco 890-899, |
||
212 | * SCAN 900-999 |
||
213 | */ |
||
214 | private $serie; |
||
215 | /** |
||
216 | * Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe |
||
217 | * Paisagem;3-DANFe Simplificado;4-DANFe NFC-e;5-DANFe NFC-e em mensagem |
||
218 | * eletrônica) |
||
219 | */ |
||
220 | private $formato; |
||
221 | /** |
||
222 | * Forma de emissão da NF-e |
||
223 | */ |
||
224 | private $emissao; |
||
225 | /** |
||
226 | * Digito Verificador da Chave de Acesso da NF-e |
||
227 | */ |
||
228 | private $digito_verificador; |
||
229 | /** |
||
230 | * Identificação do Ambiente: 1 - Produção, 2 - Homologação |
||
231 | */ |
||
232 | private $ambiente; |
||
233 | /** |
||
234 | * Finalidade da emissão da NF-e: 1 - NFe normal, 2 - NFe complementar, 3 - |
||
235 | * NFe de ajuste, 4 - Devolução/Retorno |
||
236 | */ |
||
237 | private $finalidade; |
||
238 | /** |
||
239 | * Indica operação com consumidor final (0-Não;1-Consumidor Final) |
||
240 | */ |
||
241 | private $consumidor_final; |
||
242 | /** |
||
243 | * Indicador de presença do comprador no estabelecimento comercial no |
||
244 | * momento da oepração (0-Não se aplica, ex.: Nota Fiscal complementar ou |
||
245 | * de ajuste;1-Operação presencial;2-Não presencial, internet;3-Não |
||
246 | * presencial, teleatendimento;4-NFC-e entrega em domicílio;9-Não |
||
247 | * presencial, outros) |
||
248 | */ |
||
249 | private $presenca; |
||
250 | /** |
||
251 | * Valor estimado total de impostos federais, estaduais e municipais |
||
252 | */ |
||
253 | private $tributos; |
||
254 | /** |
||
255 | * Informações adicionais de interesse do Fisco |
||
256 | */ |
||
257 | private $adicionais; |
||
258 | /** |
||
259 | * Informações complementares de interesse do Contribuinte |
||
260 | */ |
||
261 | private $complemento; |
||
262 | /** |
||
263 | * Campo de uso livre do contribuinte informar o nome do campo no atributo |
||
264 | * xCampo e o conteúdo do campo no xTexto |
||
265 | */ |
||
266 | private $observacoes; |
||
267 | /** |
||
268 | * Campo de uso exclusivo do Fisco informar o nome do campo no atributo |
||
269 | * xCampo e o conteúdo do campo no xTexto |
||
270 | */ |
||
271 | private $informacoes; |
||
272 | /** |
||
273 | * Protocolo de autorização da nota, informado apenas quando a nota for |
||
274 | * enviada e autorizada |
||
275 | */ |
||
276 | private $protocolo; |
||
277 | |||
278 | /** |
||
279 | * Constroi uma instância de Nota vazia |
||
280 | * @param array $nota Array contendo dados da Nota |
||
281 | */ |
||
282 | 7 | public function __construct($nota = array()) |
|
286 | |||
287 | /** |
||
288 | * Chave da nota fiscal |
||
289 | * @param boolean $normalize informa se o id deve estar no formato do XML |
||
290 | * @return mixed id da Nota |
||
291 | */ |
||
292 | 5 | public function getID($normalize = false) |
|
299 | |||
300 | /** |
||
301 | * Altera o valor do ID para o informado no parâmetro |
||
302 | * @param mixed $id novo valor para ID |
||
303 | * @return Nota A própria instância da classe |
||
304 | */ |
||
305 | 7 | public function setID($id) |
|
310 | |||
311 | /** |
||
312 | * Número do Documento Fiscal |
||
313 | * @param boolean $normalize informa se o numero deve estar no formato do XML |
||
314 | * @return mixed numero da Nota |
||
315 | */ |
||
316 | 5 | public function getNumero($normalize = false) |
|
323 | |||
324 | /** |
||
325 | * Altera o valor do Numero para o informado no parâmetro |
||
326 | * @param mixed $numero novo valor para Numero |
||
327 | * @return Nota A própria instância da classe |
||
328 | */ |
||
329 | 7 | public function setNumero($numero) |
|
334 | |||
335 | /** |
||
336 | * Emitente da nota fiscal |
||
337 | * @return mixed emitente da Nota |
||
338 | */ |
||
339 | 5 | public function getEmitente() |
|
343 | |||
344 | /** |
||
345 | * Altera o valor do Emitente para o informado no parâmetro |
||
346 | * @param mixed $emitente novo valor para Emitente |
||
347 | * @return Nota A própria instância da classe |
||
348 | */ |
||
349 | 7 | public function setEmitente($emitente) |
|
354 | |||
355 | /** |
||
356 | * Destinatário que receberá os produtos |
||
357 | * @return mixed destinatario da Nota |
||
358 | */ |
||
359 | 5 | public function getDestinatario() |
|
363 | |||
364 | /** |
||
365 | * Altera o valor do Destinatario para o informado no parâmetro |
||
366 | * @param mixed $destinatario novo valor para Destinatario |
||
367 | * @return Nota A própria instância da classe |
||
368 | */ |
||
369 | 7 | public function setDestinatario($destinatario) |
|
374 | |||
375 | /** |
||
376 | * Produtos adicionados na nota |
||
377 | * @return mixed produtos da Nota |
||
378 | */ |
||
379 | 5 | public function getProdutos() |
|
383 | |||
384 | /** |
||
385 | * Altera o valor do Produtos para o informado no parâmetro |
||
386 | * @param mixed $produtos novo valor para Produtos |
||
387 | * @return Nota A própria instância da classe |
||
388 | */ |
||
389 | 7 | public function setProdutos($produtos) |
|
394 | |||
395 | /** |
||
396 | * Adiciona um(a) Produto para a lista de produto |
||
397 | * @param Produto $produto Instância do Produto que será adicionada |
||
398 | * @return Nota A própria instância da classe |
||
399 | */ |
||
400 | 2 | public function addProduto($produto) |
|
405 | |||
406 | /** |
||
407 | * Informações de trasnporte da mercadoria |
||
408 | * @return mixed transporte da Nota |
||
409 | */ |
||
410 | 5 | public function getTransporte() |
|
414 | |||
415 | /** |
||
416 | * Altera o valor da Transporte para o informado no parâmetro |
||
417 | * @param mixed $transporte novo valor para Transporte |
||
418 | * @return Nota A própria instância da classe |
||
419 | */ |
||
420 | 7 | public function setTransporte($transporte) |
|
425 | |||
426 | /** |
||
427 | * Pagamentos realizados |
||
428 | * @return mixed pagamentos da Nota |
||
429 | */ |
||
430 | 5 | public function getPagamentos() |
|
434 | |||
435 | /** |
||
436 | * Altera o valor do Pagamentos para o informado no parâmetro |
||
437 | * @param mixed $pagamentos novo valor para Pagamentos |
||
438 | * @return Nota A própria instância da classe |
||
439 | */ |
||
440 | 7 | public function setPagamentos($pagamentos) |
|
445 | |||
446 | /** |
||
447 | * Adiciona um(a) Pagamento para a lista de pagamento |
||
448 | * @param Pagamento $pagamento Instância do Pagamento que será adicionada |
||
449 | * @return Nota A própria instância da classe |
||
450 | */ |
||
451 | 2 | public function addPagamento($pagamento) |
|
456 | |||
457 | /** |
||
458 | * Data e Hora da saída ou de entrada da mercadoria / produto |
||
459 | * @param boolean $normalize informa se a data_movimentacao deve estar no formato do XML |
||
460 | * @return mixed data_movimentacao da Nota |
||
461 | */ |
||
462 | 5 | public function getDataMovimentacao($normalize = false) |
|
469 | |||
470 | /** |
||
471 | * Altera o valor da DataMovimentacao para o informado no parâmetro |
||
472 | * @param mixed $data_movimentacao novo valor para DataMovimentacao |
||
473 | * @return Nota A própria instância da classe |
||
474 | */ |
||
475 | 7 | public function setDataMovimentacao($data_movimentacao) |
|
483 | |||
484 | /** |
||
485 | * Informar a data e hora de entrada em contingência |
||
486 | * @param boolean $normalize informa se a data_contingencia deve estar no formato do XML |
||
487 | * @return mixed data_contingencia da Nota |
||
488 | */ |
||
489 | 2 | public function getDataContingencia($normalize = false) |
|
496 | |||
497 | /** |
||
498 | * Altera o valor da DataContingencia para o informado no parâmetro |
||
499 | * @param mixed $data_contingencia novo valor para DataContingencia |
||
500 | * @return Nota A própria instância da classe |
||
501 | */ |
||
502 | 7 | public function setDataContingencia($data_contingencia) |
|
510 | |||
511 | /** |
||
512 | * Informar a Justificativa da entrada em contingência |
||
513 | * @param boolean $normalize informa se a justificativa deve estar no formato do XML |
||
514 | * @return mixed justificativa da Nota |
||
515 | */ |
||
516 | 2 | public function getJustificativa($normalize = false) |
|
523 | |||
524 | /** |
||
525 | * Altera o valor da Justificativa para o informado no parâmetro |
||
526 | * @param mixed $justificativa novo valor para Justificativa |
||
527 | * @return Nota A própria instância da classe |
||
528 | */ |
||
529 | 7 | public function setJustificativa($justificativa) |
|
534 | |||
535 | /** |
||
536 | * Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e. |
||
537 | * @param boolean $normalize informa se o modelo deve estar no formato do XML |
||
538 | * @return mixed modelo da Nota |
||
539 | */ |
||
540 | 5 | public function getModelo($normalize = false) |
|
553 | |||
554 | /** |
||
555 | * Altera o valor do Modelo para o informado no parâmetro |
||
556 | * @param mixed $modelo novo valor para Modelo |
||
557 | * @return Nota A própria instância da classe |
||
558 | */ |
||
559 | 7 | public function setModelo($modelo) |
|
572 | |||
573 | /** |
||
574 | * Tipo do Documento Fiscal (0 - entrada; 1 - saída) |
||
575 | * @param boolean $normalize informa se o tipo deve estar no formato do XML |
||
576 | * @return mixed tipo da Nota |
||
577 | */ |
||
578 | 5 | public function getTipo($normalize = false) |
|
591 | |||
592 | /** |
||
593 | * Altera o valor do Tipo para o informado no parâmetro |
||
594 | * @param mixed $tipo novo valor para Tipo |
||
595 | * @return Nota A própria instância da classe |
||
596 | */ |
||
597 | 7 | public function setTipo($tipo) |
|
610 | |||
611 | /** |
||
612 | * Identificador de Local de destino da operação |
||
613 | * (1-Interna;2-Interestadual;3-Exterior) |
||
614 | * @param boolean $normalize informa se o destino deve estar no formato do XML |
||
615 | * @return mixed destino da Nota |
||
616 | */ |
||
617 | 5 | public function getDestino($normalize = false) |
|
632 | |||
633 | /** |
||
634 | * Altera o valor do Destino para o informado no parâmetro |
||
635 | * @param mixed $destino novo valor para Destino |
||
636 | * @return Nota A própria instância da classe |
||
637 | */ |
||
638 | 7 | public function setDestino($destino) |
|
654 | |||
655 | /** |
||
656 | * Descrição da Natureza da Operação |
||
657 | * @param boolean $normalize informa se a natureza deve estar no formato do XML |
||
658 | * @return mixed natureza da Nota |
||
659 | */ |
||
660 | 5 | public function getNatureza($normalize = false) |
|
667 | |||
668 | /** |
||
669 | * Altera o valor da Natureza para o informado no parâmetro |
||
670 | * @param mixed $natureza novo valor para Natureza |
||
671 | * @return Nota A própria instância da classe |
||
672 | */ |
||
673 | 7 | public function setNatureza($natureza) |
|
678 | |||
679 | /** |
||
680 | * Código numérico que compõe a Chave de Acesso. Número aleatório gerado |
||
681 | * pelo emitente para cada NF-e. |
||
682 | * @param boolean $normalize informa se o codigo deve estar no formato do XML |
||
683 | * @return mixed codigo da Nota |
||
684 | */ |
||
685 | 5 | public function getCodigo($normalize = false) |
|
692 | |||
693 | /** |
||
694 | * Altera o valor do Codigo para o informado no parâmetro |
||
695 | * @param mixed $codigo novo valor para Codigo |
||
696 | * @return Nota A própria instância da classe |
||
697 | */ |
||
698 | 7 | public function setCodigo($codigo) |
|
703 | |||
704 | /** |
||
705 | * Indicador da forma de pagamento: 0 – pagamento à vista; 1 – pagamento à |
||
706 | * prazo; 2 – outros. |
||
707 | * @param boolean $normalize informa se o indicador deve estar no formato do XML |
||
708 | * @return mixed indicador da Nota |
||
709 | */ |
||
710 | 5 | public function getIndicador($normalize = false) |
|
725 | |||
726 | /** |
||
727 | * Altera o valor do Indicador para o informado no parâmetro |
||
728 | * @param mixed $indicador novo valor para Indicador |
||
729 | * @return Nota A própria instância da classe |
||
730 | */ |
||
731 | 7 | public function setIndicador($indicador) |
|
747 | |||
748 | /** |
||
749 | * Data e Hora de emissão do Documento Fiscal |
||
750 | * @param boolean $normalize informa se o data_emissao deve estar no formato do XML |
||
751 | * @return mixed data_emissao da Nota |
||
752 | */ |
||
753 | 5 | public function getDataEmissao($normalize = false) |
|
760 | |||
761 | /** |
||
762 | * Altera o valor do DataEmissao para o informado no parâmetro |
||
763 | * @param mixed $data_emissao novo valor para DataEmissao |
||
764 | * @return Nota A própria instância da classe |
||
765 | */ |
||
766 | 7 | public function setDataEmissao($data_emissao) |
|
774 | |||
775 | /** |
||
776 | * Série do Documento Fiscal: série normal 0-889, Avulsa Fisco 890-899, |
||
777 | * SCAN 900-999 |
||
778 | * @param boolean $normalize informa se o serie deve estar no formato do XML |
||
779 | * @return mixed serie da Nota |
||
780 | */ |
||
781 | 5 | public function getSerie($normalize = false) |
|
788 | |||
789 | /** |
||
790 | * Altera o valor do Serie para o informado no parâmetro |
||
791 | * @param mixed $serie novo valor para Serie |
||
792 | * @return Nota A própria instância da classe |
||
793 | */ |
||
794 | 7 | public function setSerie($serie) |
|
799 | |||
800 | /** |
||
801 | * Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe |
||
802 | * Paisagem;3-DANFe Simplificado;4-DANFe NFC-e;5-DANFe NFC-e em mensagem |
||
803 | * eletrônica) |
||
804 | * @param boolean $normalize informa se o formato deve estar no formato do XML |
||
805 | * @return mixed formato da Nota |
||
806 | */ |
||
807 | 5 | public function getFormato($normalize = false) |
|
828 | |||
829 | /** |
||
830 | * Altera o valor do Formato para o informado no parâmetro |
||
831 | * @param mixed $formato novo valor para Formato |
||
832 | * @return Nota A própria instância da classe |
||
833 | */ |
||
834 | 7 | public function setFormato($formato) |
|
859 | |||
860 | /** |
||
861 | * Forma de emissão da NF-e |
||
862 | * @param boolean $normalize informa se o emissao deve estar no formato do XML |
||
863 | * @return mixed emissao da Nota |
||
864 | */ |
||
865 | 5 | public function getEmissao($normalize = false) |
|
878 | |||
879 | /** |
||
880 | * Altera o valor do Emissao para o informado no parâmetro |
||
881 | * @param mixed $emissao novo valor para Emissao |
||
882 | * @return Nota A própria instância da classe |
||
883 | */ |
||
884 | 7 | public function setEmissao($emissao) |
|
897 | |||
898 | /** |
||
899 | * Digito Verificador da Chave de Acesso da NF-e |
||
900 | * @param boolean $normalize informa se o digito_verificador deve estar no formato do XML |
||
901 | * @return mixed digito_verificador da Nota |
||
902 | */ |
||
903 | 5 | public function getDigitoVerificador($normalize = false) |
|
910 | |||
911 | /** |
||
912 | * Altera o valor do DigitoVerificador para o informado no parâmetro |
||
913 | * @param mixed $digito_verificador novo valor para DigitoVerificador |
||
914 | * @return Nota A própria instância da classe |
||
915 | */ |
||
916 | 7 | public function setDigitoVerificador($digito_verificador) |
|
921 | |||
922 | /** |
||
923 | * Identificação do Ambiente: 1 - Produção, 2 - Homologação |
||
924 | * @param boolean $normalize informa se o ambiente deve estar no formato do XML |
||
925 | * @return mixed ambiente da Nota |
||
926 | */ |
||
927 | 5 | public function getAmbiente($normalize = false) |
|
940 | |||
941 | /** |
||
942 | * Altera o valor do Ambiente para o informado no parâmetro |
||
943 | * @param mixed $ambiente novo valor para Ambiente |
||
944 | * @return Nota A própria instância da classe |
||
945 | */ |
||
946 | 7 | public function setAmbiente($ambiente) |
|
959 | |||
960 | /** |
||
961 | * Finalidade da emissão da NF-e: 1 - NFe normal, 2 - NFe complementar, 3 - |
||
962 | * NFe de ajuste, 4 - Devolução/Retorno |
||
963 | * @param boolean $normalize informa se a finalidade deve estar no formato do XML |
||
964 | * @return mixed finalidade da Nota |
||
965 | */ |
||
966 | 5 | public function getFinalidade($normalize = false) |
|
983 | |||
984 | /** |
||
985 | * Altera o valor da Finalidade para o informado no parâmetro |
||
986 | * @param mixed $finalidade novo valor para Finalidade |
||
987 | * @return Nota A própria instância da classe |
||
988 | */ |
||
989 | 7 | public function setFinalidade($finalidade) |
|
1008 | |||
1009 | /** |
||
1010 | * Indica operação com consumidor final (0-Não;1-Consumidor Final) |
||
1011 | * @param boolean $normalize informa se o consumidor_final deve estar no formato do XML |
||
1012 | * @return mixed consumidor_final da Nota |
||
1013 | */ |
||
1014 | 5 | public function getConsumidorFinal($normalize = false) |
|
1027 | |||
1028 | /** |
||
1029 | * Indica operação com consumidor final (0-Não;1-Consumidor Final) |
||
1030 | * @return boolean informa se o ConsumidorFinal está habilitado |
||
1031 | */ |
||
1032 | public function isConsumidorFinal() |
||
1036 | |||
1037 | /** |
||
1038 | * Altera o valor do ConsumidorFinal para o informado no parâmetro |
||
1039 | * @param mixed $consumidor_final novo valor para ConsumidorFinal |
||
1040 | * @return Nota A própria instância da classe |
||
1041 | */ |
||
1042 | 7 | public function setConsumidorFinal($consumidor_final) |
|
1050 | |||
1051 | /** |
||
1052 | * Indicador de presença do comprador no estabelecimento comercial no |
||
1053 | * momento da oepração (0-Não se aplica, ex.: Nota Fiscal complementar ou |
||
1054 | * de ajuste;1-Operação presencial;2-Não presencial, internet;3-Não |
||
1055 | * presencial, teleatendimento;4-NFC-e entrega em domicílio;9-Não |
||
1056 | * presencial, outros) |
||
1057 | * @param boolean $normalize informa se a presenca deve estar no formato do XML |
||
1058 | * @return mixed presenca da Nota |
||
1059 | */ |
||
1060 | 5 | public function getPresenca($normalize = false) |
|
1081 | |||
1082 | /** |
||
1083 | * Altera o valor da Presenca para o informado no parâmetro |
||
1084 | * @param mixed $presenca novo valor para Presenca |
||
1085 | * @return Nota A própria instância da classe |
||
1086 | */ |
||
1087 | 7 | public function setPresenca($presenca) |
|
1112 | |||
1113 | /** |
||
1114 | * Valor estimado total de impostos federais, estaduais e municipais |
||
1115 | * @param boolean $normalize informa se o tributos deve estar no formato do XML |
||
1116 | * @return mixed tributos da Nota |
||
1117 | */ |
||
1118 | 2 | public function getTributos($normalize = false) |
|
1125 | |||
1126 | /** |
||
1127 | * Altera o valor do Tributos para o informado no parâmetro |
||
1128 | * @param mixed $tributos novo valor para Tributos |
||
1129 | * @return Nota A própria instância da classe |
||
1130 | */ |
||
1131 | 7 | public function setTributos($tributos) |
|
1139 | |||
1140 | /** |
||
1141 | * Informações adicionais de interesse do Fisco |
||
1142 | * @param boolean $normalize informa se a adicionais deve estar no formato do XML |
||
1143 | * @return mixed adicionais da Nota |
||
1144 | */ |
||
1145 | 5 | public function getAdicionais($normalize = false) |
|
1152 | |||
1153 | /** |
||
1154 | * Altera o valor da Adicionais para o informado no parâmetro |
||
1155 | * @param mixed $adicionais novo valor para Adicionais |
||
1156 | * @return Nota A própria instância da classe |
||
1157 | */ |
||
1158 | 7 | public function setAdicionais($adicionais) |
|
1163 | |||
1164 | /** |
||
1165 | * Informações complementares de interesse do Contribuinte |
||
1166 | * @param boolean $normalize informa se o complemento deve estar no formato do XML |
||
1167 | * @return mixed complemento da Nota |
||
1168 | */ |
||
1169 | 2 | public function getComplemento($normalize = false) |
|
1176 | |||
1177 | /** |
||
1178 | * Altera o valor do Complemento para o informado no parâmetro |
||
1179 | * @param mixed $complemento novo valor para Complemento |
||
1180 | * @return Nota A própria instância da classe |
||
1181 | */ |
||
1182 | 7 | public function setComplemento($complemento) |
|
1187 | |||
1188 | /** |
||
1189 | * Campo de uso livre do contribuinte informar o nome do campo no atributo |
||
1190 | * xCampo e o conteúdo do campo no xTexto |
||
1191 | * @return mixed observacoes da Nota |
||
1192 | */ |
||
1193 | 5 | public function getObservacoes() |
|
1197 | |||
1198 | /** |
||
1199 | * Altera o valor da Observacoes para o informado no parâmetro |
||
1200 | * @param mixed $observacoes novo valor para Observacoes |
||
1201 | * @return Nota A própria instância da classe |
||
1202 | */ |
||
1203 | 7 | public function setObservacoes($observacoes) |
|
1208 | |||
1209 | /** |
||
1210 | * Adiciona um(a) Observacao para a lista de observacao |
||
1211 | * @param Observacao $observacao Instância da Observacao que será adicionada |
||
1212 | * @return Nota A própria instância da classe |
||
1213 | */ |
||
1214 | public function addObservacao($campo, $observacao) |
||
1219 | |||
1220 | /** |
||
1221 | * Campo de uso exclusivo do Fisco informar o nome do campo no atributo |
||
1222 | * xCampo e o conteúdo do campo no xTexto |
||
1223 | * @return mixed informacoes da Nota |
||
1224 | */ |
||
1225 | 5 | public function getInformacoes() |
|
1229 | |||
1230 | /** |
||
1231 | * Altera o valor da Informacoes para o informado no parâmetro |
||
1232 | * @param mixed $informacoes novo valor para Informacoes |
||
1233 | * @return Nota A própria instância da classe |
||
1234 | */ |
||
1235 | 7 | public function setInformacoes($informacoes) |
|
1240 | |||
1241 | /** |
||
1242 | * Adiciona um(a) Informacao para a lista de informacao |
||
1243 | * @param Informacao $informacao Instância da Informacao que será adicionada |
||
1244 | * @return Nota A própria instância da classe |
||
1245 | */ |
||
1246 | public function addInformacao($campo, $informacao) |
||
1251 | |||
1252 | /** |
||
1253 | * Protocolo de autorização da nota, informado apenas quando a nota for |
||
1254 | * enviada e autorizada |
||
1255 | */ |
||
1256 | 3 | public function getProtocolo() |
|
1260 | |||
1261 | 7 | public function setProtocolo($protocolo) |
|
1266 | |||
1267 | 2 | public function toArray() |
|
1303 | |||
1304 | 7 | public function fromArray($nota = array()) |
|
1468 | |||
1469 | 5 | public function gerarID() |
|
1487 | |||
1488 | 5 | protected function getTotais() |
|
1547 | |||
1548 | 5 | private function getNodeTotal($name = null) |
|
1580 | |||
1581 | 5 | public function getNode($name = null) |
|
1719 | |||
1720 | 3 | public function loadNode($element, $name = null) |
|
1955 | |||
1956 | /** |
||
1957 | * Carrega um arquivo XML e preenche a nota com as informações dele |
||
1958 | * @param string $filename caminho do arquivo |
||
1959 | * @return DOMDocument objeto do documento carregado |
||
1960 | */ |
||
1961 | 1 | public function load($filename) |
|
1971 | |||
1972 | /** |
||
1973 | * Assina o XML com a assinatura eletrônica do tipo A1 |
||
1974 | */ |
||
1975 | 3 | public function assinar($dom = null) |
|
1991 | |||
1992 | /** |
||
1993 | * Valida o documento após assinar |
||
1994 | */ |
||
1995 | 1 | public function validar($dom) |
|
2022 | |||
2023 | /** |
||
2024 | * Adiciona o protocolo no XML da nota |
||
2025 | */ |
||
2026 | public function addProtocolo($dom) |
||
2056 | } |
||
2057 |