def gerar_xml_assinado(request, pk): from emensageriapro.settings import BASE_DIR from emensageriapro.mensageiro.functions.funcoes_esocial import salvar_arquivo_esocial from emensageriapro.mensageiro.functions.funcoes_esocial import assinar_esocial s5003_evtbasesfgts = get_object_or_404(s5003evtBasesFGTS, id=pk) if s5003_evtbasesfgts.arquivo_original: xml = ler_arquivo(s5003_evtbasesfgts.arquivo) else: xml = gerar_xml_s5003(request, pk) if 'Signature' in xml: xml_assinado = xml else: if not s5003_evtbasesfgts.transmissor_lote_esocial: from emensageriapro.mapa_processamento.views.funcoes_automaticas_esocial \ import vincular_transmissor_esocial, criar_transmissor_esocial, get_grupo grupo = get_grupo(s5003evtBasesFGTS) criar_transmissor_esocial(request, grupo, s5003_evtbasesfgts.nrinsc, s5003_evtbasesfgts.tpinsc) vincular_transmissor_esocial(request, grupo, s5003evtBasesFGTS, s5003_evtbasesfgts) s5003_evtbasesfgts = get_object_or_404(s5003evtBasesFGTS, id=pk) xml_assinado = assinar_esocial( request, xml, s5003_evtbasesfgts.transmissor_lote_esocial_id) if s5003_evtbasesfgts.status in (STATUS_EVENTO_CADASTRADO, STATUS_EVENTO_IMPORTADO, STATUS_EVENTO_DUPLICADO, STATUS_EVENTO_GERADO): s5003evtBasesFGTS.objects.\ filter(id=pk).update(status=STATUS_EVENTO_ASSINADO) arquivo = 'arquivos/Eventos/s5003_evtbasesfgts/%s.xml' % ( s5003_evtbasesfgts.identidade) os.system('mkdir -p %s/arquivos/Eventos/s5003_evtbasesfgts/' % BASE_DIR) if not os.path.exists(BASE_DIR + arquivo): salvar_arquivo_esocial(arquivo, xml_assinado, 1) xml_assinado = ler_arquivo(arquivo) return xml_assinado
def gerar_xml_assinado(request, pk): from emensageriapro.settings import BASE_DIR from emensageriapro.mensageiro.functions.funcoes import salvar_arquivo_esocial from emensageriapro.mensageiro.functions.funcoes_esocial import assinar_esocial s1010_evttabrubrica = get_object_or_404(s1010evtTabRubrica, id=pk) if not s1010_evttabrubrica.identidade: from emensageriapro.functions import identidade_evento ident = identidade_evento(s1010_evttabrubrica, 'esocial') s1010_evttabrubrica = get_object_or_404(s1010evtTabRubrica, id=pk) if s1010_evttabrubrica.arquivo_original: xml = ler_arquivo(s1010_evttabrubrica.arquivo) else: xml = gerar_xml_s1010(request, pk) STATUS_ANT = [ STATUS_EVENTO_CADASTRADO, STATUS_EVENTO_IMPORTADO, STATUS_EVENTO_DUPLICADO, STATUS_EVENTO_GERADO ] if 'Signature' in xml and s1010_evttabrubrica.status in STATUS_ANT: xml_assinado = xml s1010evtTabRubrica.objects.\ filter(id=pk).update(status=STATUS_EVENTO_ASSINADO) else: if not s1010_evttabrubrica.transmissor_lote_esocial: from emensageriapro.mapa_processamento.views.funcoes_automaticas_esocial \ import vincular_transmissor_esocial, criar_transmissor_esocial, get_grupo grupo = get_grupo(s1010evtTabRubrica) criar_transmissor_esocial(request, grupo, s1010_evttabrubrica.nrinsc, s1010_evttabrubrica.tpinsc) vincular_transmissor_esocial(request, grupo, s1010evtTabRubrica, s1010_evttabrubrica) s1010_evttabrubrica = get_object_or_404(s1010evtTabRubrica, id=pk) xml_assinado = assinar_esocial( request, xml, s1010_evttabrubrica.transmissor_lote_esocial_id) if 'Signature' in xml_assinado and s1010_evttabrubrica.status in STATUS_ANT: s1010evtTabRubrica.objects.\ filter(id=pk).update(status=STATUS_EVENTO_ASSINADO) elif s1000evtInfoEmpregador.status in STATUS_ANT: s1010evtTabRubrica.objects.\ filter(id=pk).update(status=STATUS_EVENTO_GERADO) arquivo = '/arquivos/Eventos/s1010_evttabrubrica/%s.xml' % ( s1010_evttabrubrica.identidade) os.system('mkdir -p %s/arquivos/Eventos/s1010_evttabrubrica/' % BASE_DIR) if not os.path.exists(BASE_DIR + arquivo): salvar_arquivo_esocial(arquivo, xml_assinado, 1) xml_assinado = ler_arquivo(arquivo) return xml_assinado