Class: BrNfe::Service::Response::ConsultaSituacaoLoteRps

Inherits:
Default show all
Defined in:
lib/br_nfe/service/response/consulta_situacao_lote_rps.rb

Instance Attribute Summary collapse

Attributes inherited from Default

#error_messages, #notas_fiscais, #original_xml, #status

Attributes inherited from ActiveModelBase

#reference

Instance Method Summary collapse

Methods inherited from Default

#get_status, #initialize, #message_codes, #success?, #successful_request?, #unsuccessful_request?

Methods inherited from ActiveModelBase

#assign_attributes, #default_values, #initialize

Constructor Details

This class inherits a constructor from BrNfe::Service::Response::Default

Instance Attribute Details

#numero_loteObject

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



12
13
14
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 12

def numero_lote
  @numero_lote
end

#situationObject

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



20
21
22
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 20

def situation
  @situation
end

Instance Method Details

#get_situation_by_message_codesObject

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



60
61
62
63
64
65
66
67
68
69
70
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 60

def get_situation_by_message_codes
  if (situation_unprocessed_code_errors & message_codes).any?
    :unprocessed
  elsif (situation_unreceived_code_errors & message_codes).any?
    :unreceived
  elsif (situation_success_code_errors & message_codes).any?
    :success
  elsif message_codes.any?
    :error
  end        
end

#situation_success_code_errorsObject



42
43
44
45
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 42

def situation_success_code_errors
  @situation_success_code_errors ||= []
  @situation_success_code_errors#+[]
end

#situation_success_code_errors=(value) ⇒ Object



46
47
48
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 46

def situation_success_code_errors=(value)
  @situation_success_code_errors = [value].flatten
end

#situation_unprocessed_code_errorsObject



34
35
36
37
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 34

def situation_unprocessed_code_errors
  @situation_unprocessed_code_errors ||= []
  @situation_unprocessed_code_errors+['E92']
end

#situation_unprocessed_code_errors=(value) ⇒ Object



38
39
40
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 38

def situation_unprocessed_code_errors=(value)
  @situation_unprocessed_code_errors = [value].flatten
end

#situation_unreceived_code_errorsObject



26
27
28
29
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 26

def situation_unreceived_code_errors
  @situation_unreceived_code_errors ||= []
  @situation_unreceived_code_errors+['E4']
end

#situation_unreceived_code_errors=(value) ⇒ Object



30
31
32
# File 'lib/br_nfe/service/response/consulta_situacao_lote_rps.rb', line 30

def situation_unreceived_code_errors=(value)
  @situation_unreceived_code_errors = [value].flatten
end