コード例 #1
0
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
コード例 #2
0
def gerar_xml_assinado(s1000_evtinfoempregador_id, db_slug):
    import os
    from emensageriapro.mensageiro.functions.funcoes_esocial import salvar_arquivo_esocial
    from emensageriapro.settings import BASE_DIR
    from emensageriapro.mensageiro.functions.funcoes_esocial import assinar_esocial

    s1000_evtinfoempregador = get_object_or_404(
        s1000evtInfoEmpregador.objects.using(db_slug),
        excluido=False,
        id=s1000_evtinfoempregador_id)

    if s1000_evtinfoempregador.arquivo_original:

        xml = ler_arquivo(s1000_evtinfoempregador.arquivo)

    else:

        xml = gerar_xml_s1000(s1000_evtinfoempregador_id, db_slug)

    if 'Signature' in xml:

        xml_assinado = xml

    else:

        xml_assinado = assinar_esocial(xml)

    if s1000_evtinfoempregador.status in (0, 1, 2, 11):

        s1000evtInfoEmpregador.objects.using(db_slug).\
            filter(id=s1000_evtinfoempregador_id,excluido=False).update(status=10)

    arquivo = 'arquivos/Eventos/s1000_evtinfoempregador/%s.xml' % (
        s1000_evtinfoempregador.identidade)

    os.system('mkdir -p %s/arquivos/Eventos/s1000_evtinfoempregador/' %
              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
コード例 #3
0
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