Esempio n. 1
0
def gerar_xml_assinado(request, pk):

    from emensageriapro.settings import BASE_DIR
    from emensageriapro.mensageiro.functions.funcoes_efdreinf import salvar_arquivo_efdreinf
    from emensageriapro.mensageiro.functions.funcoes_efdreinf import assinar_efdreinf

    r9011_evttotalcontrib = get_object_or_404(r9011evtTotalContrib, id=pk)

    if r9011_evttotalcontrib.arquivo_original:

        xml = ler_arquivo(r9011_evttotalcontrib.arquivo)

    else:
        xml = gerar_xml_r9011(request, pk)

    if 'Signature' in xml:

        xml_assinado = xml

    else:

        if not r9011_evttotalcontrib.transmissor_lote_efdreinf:

            from emensageriapro.mapa_processamento.views.funcoes_automaticas_efdreinf \
                import vincular_transmissor_efdreinf, criar_transmissor_efdreinf, get_grupo

            grupo = get_grupo(r9011evtTotalContrib)

            criar_transmissor_efdreinf(request, grupo,
                                       r9011_evttotalcontrib.nrinsc,
                                       r9011_evttotalcontrib.tpinsc)

            vincular_transmissor_efdreinf(request, grupo, r9011evtTotalContrib,
                                          r9011_evttotalcontrib)

        r9011_evttotalcontrib = get_object_or_404(r9011evtTotalContrib, id=pk)

        xml_assinado = assinar_efdreinf(
            request, xml, r9011_evttotalcontrib.transmissor_lote_efdreinf_id)

    if r9011_evttotalcontrib.status in (STATUS_EVENTO_CADASTRADO,
                                        STATUS_EVENTO_IMPORTADO,
                                        STATUS_EVENTO_DUPLICADO,
                                        STATUS_EVENTO_GERADO):

        r9011evtTotalContrib.objects.\
            filter(id=pk).update(status=STATUS_EVENTO_ASSINADO)

    arquivo = 'arquivos/Eventos/r9011_evttotalcontrib/%s.xml' % (
        r9011_evttotalcontrib.identidade)
    os.system('mkdir -p %s/arquivos/Eventos/r9011_evttotalcontrib/' % BASE_DIR)

    if not os.path.exists(BASE_DIR + arquivo):

        salvar_arquivo_efdreinf(arquivo, xml_assinado, 1)

    xml_assinado = ler_arquivo(arquivo)

    return xml_assinado
Esempio n. 2
0
def gerar_xml_assinado(r5011_evttotalcontrib_id, db_slug):
    import os
    from emensageriapro.mensageiro.functions.funcoes_efdreinf import salvar_arquivo_efdreinf
    from emensageriapro.settings import BASE_DIR
    from emensageriapro.mensageiro.functions.funcoes_efdreinf import assinar_efdreinf

    r5011_evttotalcontrib = get_object_or_404(
        r5011evtTotalContrib.objects.using(db_slug),
        excluido=False,
        id=r5011_evttotalcontrib_id)

    if r5011_evttotalcontrib.arquivo_original:

        xml = ler_arquivo(r5011_evttotalcontrib.arquivo)

    else:

        xml = gerar_xml_r5011(r5011_evttotalcontrib_id, db_slug)

    if 'Signature' in xml:

        xml_assinado = xml

    else:

        xml_assinado = assinar_efdreinf(xml)

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

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

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

    os.system('mkdir -p %s/arquivos/Eventos/r5011_evttotalcontrib/' % BASE_DIR)

    if not os.path.exists(BASE_DIR + arquivo):

        salvar_arquivo_efdreinf(arquivo, xml_assinado, 1)

    xml_assinado = ler_arquivo(arquivo)

    return xml_assinado
Esempio n. 3
0
def gerar_xml_assinado(request, pk):

    from emensageriapro.settings import BASE_DIR
    from emensageriapro.mensageiro.functions.funcoes import salvar_arquivo_efdreinf
    from emensageriapro.mensageiro.functions.funcoes_efdreinf import assinar_efdreinf

    r1000_evtinfocontri = get_object_or_404(r1000evtInfoContri, id=pk)

    if not r1000_evtinfocontri.identidade:
        from emensageriapro.functions import identidade_evento
        ident = identidade_evento(r1000_evtinfocontri, 'efdreinf')
        r1000_evtinfocontri = get_object_or_404(r1000evtInfoContri, id=pk)

    if r1000_evtinfocontri.arquivo_original:
        xml = ler_arquivo(r1000_evtinfocontri.arquivo)

    else:
        xml = gerar_xml_r1000(request, pk)

    STATUS_ANT = [
        STATUS_EVENTO_CADASTRADO, STATUS_EVENTO_IMPORTADO,
        STATUS_EVENTO_DUPLICADO, STATUS_EVENTO_GERADO
    ]

    if 'Signature' in xml and r1000_evtinfocontri.status in STATUS_ANT:

        xml_assinado = xml
        r1000evtInfoContri.objects.\
            filter(id=pk).update(status=STATUS_EVENTO_ASSINADO)

    else:

        if not r1000_evtinfocontri.transmissor_lote_efdreinf:

            from emensageriapro.mapa_processamento.views.funcoes_automaticas_efdreinf \
                import vincular_transmissor_efdreinf, criar_transmissor_efdreinf, get_grupo

            grupo = get_grupo(r1000evtInfoContri)

            criar_transmissor_efdreinf(request, grupo,
                                       r1000_evtinfocontri.nrinsc,
                                       r1000_evtinfocontri.tpinsc)

            vincular_transmissor_efdreinf(request, grupo, r1000evtInfoContri,
                                          r1000_evtinfocontri)

        r1000_evtinfocontri = get_object_or_404(r1000evtInfoContri, id=pk)

        xml_assinado = assinar_efdreinf(
            request, xml, r1000_evtinfocontri.transmissor_lote_efdreinf_id)

        if 'Signature' in xml_assinado and r1000_evtinfocontri.status in STATUS_ANT:

            r1000evtInfoContri.objects.\
                filter(id=pk).update(status=STATUS_EVENTO_ASSINADO)

        elif s1000evtInfoEmpregador.status in STATUS_ANT:

            r1000evtInfoContri.objects.\
                filter(id=pk).update(status=STATUS_EVENTO_GERADO)

    arquivo = '/arquivos/Eventos/r1000_evtinfocontri/%s.xml' % (
        r1000_evtinfocontri.identidade)
    os.system('mkdir -p %s/arquivos/Eventos/r1000_evtinfocontri/' % BASE_DIR)

    if not os.path.exists(BASE_DIR + arquivo):

        salvar_arquivo_efdreinf(arquivo, xml_assinado, 1)

    xml_assinado = ler_arquivo(arquivo)

    return xml_assinado