Class: BrNfe::Service::Thema::V1::RecepcaoLoteRps

Inherits:
Base show all
Includes:
Concerns::Rules::RecepcaoLoteRps, Response::Paths::V1::ServicoEnviarLoteRpsResposta
Defined in:
lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb

Direct Known Subclasses

RecepcaoLoteRpsLimitado

Instance Attribute Summary

Attributes inherited from Base

#ibge_code_of_issuer_city, #password, #username

Attributes inherited from Base

#certificate_pkcs12_password, #certificate_pkcs12_path, #certificate_pkcs12_value, #client_wsdl_ssl_cert_file, #client_wsdl_ssl_cert_key_file, #client_wsdl_ssl_cert_key_password, #client_wsdl_ssl_verify_mode, #env

Instance Method Summary collapse

Methods included from Response::Paths::V1::ServicoEnviarLoteRpsResposta

#response_lot_number_path, #response_message_errors_path, #response_protocol_path, #response_received_date_path

Methods included from Response::Paths::Base

#response_cancelation_date_time_path, #response_invoice_base_calculation_path, #response_invoice_cancelamento_cnpj_path, #response_invoice_cancelamento_codigo_path, #response_invoice_cancelamento_data_hora_path, #response_invoice_cancelamento_inscricao_municipal_path, #response_invoice_cancelamento_municipio_path, #response_invoice_cancelamento_numero_nf_path, #response_invoice_cnae_code_path, #response_invoice_codigo_art_path, #response_invoice_codigo_municipio_path, #response_invoice_codigo_obra_path, #response_invoice_codigo_verificacao_path, #response_invoice_competencia_path, #response_invoice_data_emissao_path, #response_invoice_data_emissao_rps_path, #response_invoice_deductions_path, #response_invoice_desconto_condicionado_path, #response_invoice_desconto_incondicionado_path, #response_invoice_description_path, #response_invoice_destinatario_cnpj_path, #response_invoice_destinatario_cpf_path, #response_invoice_destinatario_email_path, #response_invoice_destinatario_endereco_bairro_path, #response_invoice_destinatario_endereco_cep_path, #response_invoice_destinatario_endereco_codigo_municipio_path, #response_invoice_destinatario_endereco_complemento_path, #response_invoice_destinatario_endereco_logradouro_path, #response_invoice_destinatario_endereco_numero_path, #response_invoice_destinatario_endereco_uf_path, #response_invoice_destinatario_inscricao_estadual_path, #response_invoice_destinatario_inscricao_municipal_path, #response_invoice_destinatario_inscricao_suframa_path, #response_invoice_destinatario_razao_social_path, #response_invoice_destinatario_telefone_path, #response_invoice_emitente_cnpj_path, #response_invoice_emitente_email_path, #response_invoice_emitente_endereco_bairro_path, #response_invoice_emitente_endereco_cep_path, #response_invoice_emitente_endereco_codigo_municipio_path, #response_invoice_emitente_endereco_complemento_path, #response_invoice_emitente_endereco_logradouro_path, #response_invoice_emitente_endereco_numero_path, #response_invoice_emitente_endereco_uf_path, #response_invoice_emitente_inscricao_municipal_path, #response_invoice_emitente_nome_fantasia_path, #response_invoice_emitente_razao_social_path, #response_invoice_emitente_telefone_path, #response_invoice_incentivador_cultural_path, #response_invoice_iss_retained_path, #response_invoice_iss_tax_rate_path, #response_invoice_item_lista_servico_path, #response_invoice_municipio_incidencia_path, #response_invoice_natureza_operacao_path, #response_invoice_nfe_substituidora_path, #response_invoice_numero_nf_path, #response_invoice_numero_processo_path, #response_invoice_optante_simples_nacional_path, #response_invoice_orgao_gerador_municipio_path, #response_invoice_orgao_gerador_uf_path, #response_invoice_outras_informacoes_path, #response_invoice_outras_retencoes_path, #response_invoice_regime_especial_tributacao_path, #response_invoice_responsavel_retencao_path, #response_invoice_rps_numero_path, #response_invoice_rps_serie_path, #response_invoice_rps_situacao_path, #response_invoice_rps_substituido_numero_path, #response_invoice_rps_substituido_serie_path, #response_invoice_rps_substituido_tipo_path, #response_invoice_rps_tipo_path, #response_invoice_total_iss_path, #response_invoice_total_services_path, #response_invoice_url_nf_path, #response_invoice_valor_cofins_path, #response_invoice_valor_csll_path, #response_invoice_valor_inss_path, #response_invoice_valor_ir_path, #response_invoice_valor_liquido_path, #response_invoice_valor_pis_path, #response_invoices_path, #response_lot_number_path, #response_message_code_key, #response_message_errors_path, #response_message_msg_key, #response_message_solution_key, #response_protocol_path, #response_received_date_path, #response_situation_key_values, #response_situation_path

Methods inherited from Base

#canonicalization_method_algorithm, #content_xml, #get_wsdl_by_city, #message_namespaces, #namespace_identifier, #nfse_xml_path, #response_encoding, #signature_type, #soap_namespaces, #ts_aliquota

Methods inherited from Base

#id_attribute?, #nfse_xml_path, #request, #set_response, #xml_current_dir_path

Methods included from Helper::ValuesTs::ServiceV1

#ts_aliquota, #ts_art, #ts_bairro, #ts_cep, #ts_cnpj, #ts_codigo_cancelamento_nfse, #ts_codigo_cnae, #ts_codigo_mensagem_alerta, #ts_codigo_municipio_ibge, #ts_codigo_obra, #ts_codigo_tributacao, #ts_codigo_verificacao, #ts_complemento_endereco, #ts_cpf, #ts_date, #ts_datetime, #ts_descricao_mensagem_alerta, #ts_discriminacao, #ts_email, #ts_endereco, #ts_id_tag, #ts_indicacao_cpf_cnpj, #ts_inscricao_municipal, #ts_item_lista_servico, #ts_natureza_operacao, #ts_nome_fantasia, #ts_numero_endereco, #ts_numero_lote, #ts_numero_nfse, #ts_numero_protocolo, #ts_numero_rps, #ts_outras_informacoes, #ts_quantidade_rps, #ts_razao_social, #ts_regime_especial_tributacao, #ts_serie_rps, #ts_sim_nao, #ts_situacao_lote_rps, #ts_status_nfse, #ts_status_rps, #ts_telefone, #ts_tipo_rps, #ts_uf, #ts_valor

Methods inherited from Base

#certificate, #certificate=, #certificate_key, #certificate_key=, #certificate_pkcs12, #certificate_pkcs12=, #client_wsdl, #content_xml, #env_namespace, #find_xml, #get_xml_dirs, #message_namespaces, #namespace_for_signature, #namespace_for_tags, #namespace_identifier, #original_response, #render_xml, #response, #response_encoding, #sign_xml, #signature_type, #signature_type?, #soap_namespaces, #soap_xml, #tag_xml, #wsdl_encoding, #xml_current_dir_path, #xml_default_dir_path, #xml_version

Methods included from Helper::HaveEmitente

#emitente, #emitente=

Methods inherited from ActiveModelBase

#assign_attributes, #default_values, #initialize

Constructor Details

This class inherits a constructor from BrNfe::ActiveModelBase

Instance Method Details

#body_xml_pathObject

Caminho de hash através do body da resposta SOAP até encontrar o XML correspondente na qual contém as informações necessárias para encontrar os valores para setar na resposta



58
59
60
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 58

def body_xml_path
  [:recepcionar_lote_rps_response, :return]
end

#certificado_obrigatorio?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 13

def certificado_obrigatorio?
  true
end

#method_wsdlObject



17
18
19
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 17

def method_wsdl
  :recepcionar_lote_rps
end

#response_root_pathObject

Não é utilizado o response_root_path pois esse órgão emissor trata o XML de forma diferente e para instanciar a resposta adequadamente é utilizado o body_xml_path. A resposta contém outro XML dentro do Body.



50
51
52
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 50

def response_root_path
  []
end

#soap_body_root_tagObject

Tag root da requisição



23
24
25
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 23

def soap_body_root_tag
  'recepcionarLoteRps'
end

#wsdlObject



9
10
11
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 9

def wsdl
  get_wsdl_by_city[:send]
end

#xml_builderObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb', line 27

def xml_builder
  xml = render_xml 'servico_enviar_lote_rps_envio'
  sign_nodes = [
    {
      node_path: "//nf:EnviarLoteRpsEnvio/nf:LoteRps/nf:ListaRps/nf:Rps/nf:InfRps", 
      node_namespaces: {nf: 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd'},
      node_ids: lote_rps.map{|rps| "R#{rps.numero}"}
    },
    {
      node_path: "//nf:EnviarLoteRpsEnvio/nf:LoteRps", 
      node_namespaces: {nf: 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd'},
      node_ids: ["L#{numero_lote_rps}"]
    }
  ]
  sign_xml('<?xml version="1.0" encoding="ISO-8859-1"?>'+xml, sign_nodes)
end