Class: BrNfe::Response::Service::Default
- Inherits:
-
ActiveModelBase
- Object
- ActiveModelBase
- BrNfe::Response::Service::Default
- Defined in:
- lib/br_nfe/response/service/default.rb
Instance Attribute Summary collapse
-
#cancelation_date_time ⇒ Object
Data e hora do cancelamento da NF-e utilizado apenas para o Cancelamento da NF.
-
#data_recebimento ⇒ Object
Data/Data hora do recebimento do XML pelo orgão emissor Nesse atrubuto pe setado a data/hora na qual o orgão emissor recebeu o XML que foi enviado.
-
#error_messages ⇒ Object
Array contendo as mensagens de erros No array pode conter Hash (com :codigo, :mensagem e :correcao) mas também pode conter mensagens de texto puro.
-
#notas_fiscais ⇒ Object
Array contendo as notas fiscais encontradas no xml de retorno.
-
#numero_lote ⇒ Object
Número do lote RPS Nesse atributo é setado o número do lote RPS quando o mesmo for retornado na resposta.
-
#original_xml ⇒ Object
XML original da resposta Contém todo o XML Envelope da resposta SOAP.
-
#protocolo ⇒ Object
Número do protocolo de recebimento do XML Setado normalmente quando é enviado um lote RPS para processamento.
-
#situation ⇒ Object
Código da situação do lote RPS Utilizado para saber se o Lote RPS já foi processado e se foi processado com sucesso ou teve algum erro.
-
#status ⇒ Object
Status possíveis [:success, :falied, :soap_error, :http_error, :unknown_error].
Instance Method Summary collapse
-
#get_situation_by_message_codes ⇒ Object
Como alguns orgãos emissores (como a Betha) não tem a capacidade de programar para colocar o codigo da situação em determinados momentos e simplesmente colocam uma mensagem de erro na resposta sem setar a situação foi necessário construir esse método para que a partir dos códigos das mensagens seja possível distinguir qual a situação atual do lote enviado.
- #get_status ⇒ Object
-
#initialize(attributes = {}) ⇒ Default
constructor
A new instance of Default.
-
#message_codes ⇒ Object
Retorna um array apenas com os códigos das mensagens de erro.
- #situation_success_code_errors ⇒ Object
- #situation_success_code_errors=(value) ⇒ Object
- #situation_unprocessed_code_errors ⇒ Object
- #situation_unprocessed_code_errors=(value) ⇒ Object
- #situation_unreceived_code_errors ⇒ Object
- #situation_unreceived_code_errors=(value) ⇒ Object
- #success? ⇒ Boolean
-
#successful_request? ⇒ Boolean
Método para saber se a conexão com a prefeitura foi bem-sucedida.
-
#unsuccessful_request? ⇒ Boolean
Método para saber se a conexão com a prefeitura foi mal-sucedida.
Methods inherited from ActiveModelBase
#assign_attributes, #default_values
Constructor Details
#initialize(attributes = {}) ⇒ Default
Returns a new instance of Default.
129 130 131 132 133 |
# File 'lib/br_nfe/response/service/default.rb', line 129 def initialize(attributes = {}) self.notas_fiscais = [] # Para poder utilizar o << self. = [] # Para poder utilizar o << super end |
Instance Attribute Details
#cancelation_date_time ⇒ Object
Data e hora do cancelamento da NF-e utilizado apenas para o Cancelamento da NF
Tipo de retorno: DateTime
62 63 64 |
# File 'lib/br_nfe/response/service/default.rb', line 62 def cancelation_date_time @cancelation_date_time end |
#data_recebimento ⇒ Object
Data/Data hora do recebimento do XML pelo orgão emissor Nesse atrubuto pe setado a data/hora na qual o orgão emissor recebeu o XML que foi enviado. também é nesse atributo que é setado a data/hora do processamento da NF-e (nos casos de consulta)
Tipo de retorno: DateTime
40 41 42 |
# File 'lib/br_nfe/response/service/default.rb', line 40 def data_recebimento @data_recebimento end |
#error_messages ⇒ Object
Array contendo as mensagens de erros No array pode conter Hash (com :codigo, :mensagem e :correcao) mas também pode conter mensagens de texto puro
Tipo de retorno: Array
12 13 14 |
# File 'lib/br_nfe/response/service/default.rb', line 12 def @error_messages end |
#notas_fiscais ⇒ Object
Array contendo as notas fiscais encontradas no xml de retorno. Utillizado em algumas requisições onde pode ser que retorne algum XML de NFe É um Array contendo objetos da classe BrNfe::Response::Service::NotaFiscal
Tipo de retorno: Array
20 21 22 |
# File 'lib/br_nfe/response/service/default.rb', line 20 def notas_fiscais @notas_fiscais end |
#numero_lote ⇒ Object
Número do lote RPS Nesse atributo é setado o número do lote RPS quando o mesmo for retornado na resposta
Tipo de retorno: Integer
48 49 50 |
# File 'lib/br_nfe/response/service/default.rb', line 48 def numero_lote @numero_lote end |
#original_xml ⇒ Object
XML original da resposta Contém todo o XML Envelope da resposta SOAP
Tipo de retorno: String XML
55 56 57 |
# File 'lib/br_nfe/response/service/default.rb', line 55 def original_xml @original_xml end |
#protocolo ⇒ Object
Número do protocolo de recebimento do XML Setado normalmente quando é enviado um lote RPS para processamento. O valor desse atributo é utilizado para posteriormente fazer a consulta para saber se o RPS já foi processado
Tipo de retorno: Integer ou String
30 31 32 |
# File 'lib/br_nfe/response/service/default.rb', line 30 def protocolo @protocolo end |
#situation ⇒ Object
Código da situação do lote RPS Utilizado para saber se o Lote RPS já foi processado e se foi processado com sucesso ou teve algum erro
Tipo de retorno: Integer ou String
77 78 79 |
# File 'lib/br_nfe/response/service/default.rb', line 77 def situation @situation end |
#status ⇒ Object
Status possíveis
- :success, :falied, :soap_error, :http_error, :unknown_error
-
Tipo de retorno: Hash
69 70 71 |
# File 'lib/br_nfe/response/service/default.rb', line 69 def status @status end |
Instance Method Details
#get_situation_by_message_codes ⇒ Object
Como alguns orgãos emissores (como a Betha) não tem a capacidade de programar para colocar o codigo da situação em determinados momentos e simplesmente colocam uma mensagem de erro na resposta sem setar a situação foi necessário construir esse método para que a partir dos códigos das mensagens seja possível distinguir qual a situação atual do lote enviado. Por exemplo: Quando retornar o erro com código ‘E92’ quer dizer que a situação do lote é :unprocessed. Equivalente ao código de situação 2
Tipo de retorno: Symbol
117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/br_nfe/response/service/default.rb', line 117 def if (situation_unprocessed_code_errors & ).any? :unprocessed elsif (situation_unreceived_code_errors & ).any? :unreceived elsif (situation_success_code_errors & ).any? :success elsif .any? :error end end |
#get_status ⇒ Object
170 171 172 |
# File 'lib/br_nfe/response/service/default.rb', line 170 def get_status .blank? ? :success : :falied end |
#message_codes ⇒ Object
Retorna um array apenas com os códigos das mensagens de erro. Sempre retornar o código no formato de String.
Tipo de retorno: Array
179 180 181 |
# File 'lib/br_nfe/response/service/default.rb', line 179 def @message_codes ||= .select{|msg| msg.is_a?(Hash)}.map{|msg| msg[:code].try(:to_s) } end |
#situation_success_code_errors ⇒ Object
99 100 101 102 |
# File 'lib/br_nfe/response/service/default.rb', line 99 def situation_success_code_errors @situation_success_code_errors ||= [] @situation_success_code_errors#+[] end |
#situation_success_code_errors=(value) ⇒ Object
103 104 105 |
# File 'lib/br_nfe/response/service/default.rb', line 103 def situation_success_code_errors=(value) @situation_success_code_errors = [value].flatten end |
#situation_unprocessed_code_errors ⇒ Object
91 92 93 94 |
# File 'lib/br_nfe/response/service/default.rb', line 91 def situation_unprocessed_code_errors @situation_unprocessed_code_errors ||= [] @situation_unprocessed_code_errors+['E92'] end |
#situation_unprocessed_code_errors=(value) ⇒ Object
95 96 97 |
# File 'lib/br_nfe/response/service/default.rb', line 95 def situation_unprocessed_code_errors=(value) @situation_unprocessed_code_errors = [value].flatten end |
#situation_unreceived_code_errors ⇒ Object
83 84 85 86 |
# File 'lib/br_nfe/response/service/default.rb', line 83 def situation_unreceived_code_errors @situation_unreceived_code_errors ||= [] @situation_unreceived_code_errors+['E4'] end |
#situation_unreceived_code_errors=(value) ⇒ Object
87 88 89 |
# File 'lib/br_nfe/response/service/default.rb', line 87 def situation_unreceived_code_errors=(value) @situation_unreceived_code_errors = [value].flatten end |
#success? ⇒ Boolean
162 163 164 |
# File 'lib/br_nfe/response/service/default.rb', line 162 def success? status == :success end |
#successful_request? ⇒ Boolean
Método para saber se a conexão com a prefeitura foi bem-sucedida. Caso a requisição ocorra certo e não apresente nenhuma exception irá retornar true.
Tipo de retorno: Boolean
158 159 160 |
# File 'lib/br_nfe/response/service/default.rb', line 158 def successful_request? !unsuccessful_request? end |
#unsuccessful_request? ⇒ Boolean
Método para saber se a conexão com a prefeitura foi mal-sucedida. Caso ocorra algum erro na requisição irá retornar true.
Tipo de retorno: Boolean
148 149 150 |
# File 'lib/br_nfe/response/service/default.rb', line 148 def unsuccessful_request? status.in?([:soap_error, :http_error, :unknown_error]) end |