def get_schema_name(arquivo): from emensageriapro.functions import get_versao_evento, get_evento_nome from emensageriapro.padrao import ler_arquivo xml = ler_arquivo(arquivo).replace("s:", "") if 'eSocial' in xml: tipo = 'esocial' elif 'Reinf' in xml: tipo = 'efdreinf' versao = get_versao_evento(xml) evento_nome = get_evento_nome(xml) schema_filename = '%s/%s/%s.xsd' % (tipo, versao, evento_nome) return schema_filename
def validar_evento_funcao(request, pk): from emensageriapro.padrao import executar_sql from emensageriapro.functions import get_versao_evento from emensageriapro.settings import BASE_DIR from emensageriapro.mensageiro.functions.funcoes_validacoes_precedencia import validar_precedencia from emensageriapro.mensageiro.functions.funcoes_validacoes import get_schema_name, validar_schema from emensageriapro.esocial.views.s1280_evtinfocomplper_gerar_xml import gerar_xml_assinado VERIFICAR_PREDECESSAO_ANTES_ENVIO = config.ESOCIAL_VERIFICAR_PREDECESSAO_ANTES_ENVIO lista_validacoes = [] s1280_evtinfocomplper = get_object_or_404(s1280evtInfoComplPer, id=pk) if not s1280_evtinfocomplper.identidade: from emensageriapro.functions import identidade_evento ident = identidade_evento(s1280_evtinfocomplper, 'esocial') s1280_evtinfocomplper = get_object_or_404(s1280evtInfoComplPer, id=pk) # # Validações internas # arquivo = '/arquivos/Eventos/s1280_evtinfocomplper/%s.xml' % (s1280_evtinfocomplper.identidade) os.system('mkdir -p %s/arquivos/Eventos/s1280_evtinfocomplper/' % BASE_DIR) lista = [] tipo = 'esocial' if not os.path.exists(BASE_DIR + arquivo): gerar_xml_assinado(request, pk) if os.path.exists(BASE_DIR + arquivo): from emensageriapro.esocial.views.s1280_evtinfocomplper_validar import validacoes_s1280_evtinfocomplper texto_xml = ler_arquivo(arquivo).replace("s:", "") versao = get_versao_evento(texto_xml) lista = validacoes_s1280_evtinfocomplper(arquivo) for a in lista: if a: lista_validacoes.append(a) # # validando schema # schema_filename = 'esocial/%s/evtInfoComplPer.xsd' % (s1280_evtinfocomplper.versao) quant_erros, error_list = validar_schema(request, schema_filename, arquivo, lang='pt') for a in error_list: if a: lista_validacoes.append(a) # # # if lista_validacoes: validacoes = '<br>'.join(lista_validacoes).replace("'", "''") s1280evtInfoComplPer.objects.\ filter(id=pk).\ update(validacoes=validacoes, status=STATUS_EVENTO_VALIDADO_ERRO) messages.error(request, u'Validações foram processadas, porém foram encontrados erros!') else: from emensageriapro.mensageiro.functions.funcoes_validacoes_precedencia import EVENTOS_SEM_PREDECESSAO, validar_precedencia if VERIFICAR_PREDECESSAO_ANTES_ENVIO and 's1280_evtinfocomplper' not in EVENTOS_SEM_PREDECESSAO: quant = validar_precedencia('s1280_evtinfocomplper', pk) if quant <= 0: s1280evtInfoComplPer.objects.\ filter(id=pk).\ update(validacoes=None, status=STATUS_EVENTO_AGUARD_PRECEDENCIA) messages.warning(request, u'Validações foram processadas com sucesso, porém o evento está aguardando envio de sua precedência!') else: s1280evtInfoComplPer.objects.\ filter(id=pk).\ update(validacoes=None, status=STATUS_EVENTO_AGUARD_ENVIO) messages.success(request, u'Validações foram processadas com sucesso, evento está aguardandando envio!') else: s1280evtInfoComplPer.objects. \ filter(id=pk).\ update(validacoes=None, status=STATUS_EVENTO_AGUARD_ENVIO) messages.success(request, u'Validações foram processadas com sucesso, evento está aguardandando envio!') return lista_validacoes
def importar_arquivo(arquivo, request, validar=False): import os import untangle from django.contrib import messages from emensageriapro.settings import BASE_DIR from emensageriapro.functions import get_versao_evento from emensageriapro.padrao import ler_arquivo dados = {} if not os.path.isfile(BASE_DIR + '/' + arquivo.arquivo): messages.error(request, 'Arquivo não encontrado!') return dados xml = ler_arquivo(arquivo.arquivo).replace("s:", "") try: doc = untangle.parse(xml) dados['status'] = 1 except: messages.error(request, 'Erro na importação. Arquivo XML inválido!') dados['status'] = 2 return dados if dados['status'] == 1: xmlns = doc.eSocial['xmlns'].split('/') dados['versao'] = get_versao_evento(xml) if ('evtInfoEmpregador' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1000_evtinfoempregador_importar import read_s1000_evtinfoempregador from emensageriapro.esocial.views.s1000_evtinfoempregador_gerar_xml import gerar_xml_assinado dados = read_s1000_evtinfoempregador(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabEstab' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1005_evttabestab_importar import read_s1005_evttabestab from emensageriapro.esocial.views.s1005_evttabestab_gerar_xml import gerar_xml_assinado dados = read_s1005_evttabestab(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabRubrica' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1010_evttabrubrica_importar import read_s1010_evttabrubrica from emensageriapro.esocial.views.s1010_evttabrubrica_gerar_xml import gerar_xml_assinado dados = read_s1010_evttabrubrica(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabLotacao' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1020_evttablotacao_importar import read_s1020_evttablotacao from emensageriapro.esocial.views.s1020_evttablotacao_gerar_xml import gerar_xml_assinado dados = read_s1020_evttablotacao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabCargo' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1030_evttabcargo_importar import read_s1030_evttabcargo from emensageriapro.esocial.views.s1030_evttabcargo_gerar_xml import gerar_xml_assinado dados = read_s1030_evttabcargo(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabCarreira' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1035_evttabcarreira_importar import read_s1035_evttabcarreira from emensageriapro.esocial.views.s1035_evttabcarreira_gerar_xml import gerar_xml_assinado dados = read_s1035_evttabcarreira(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabFuncao' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1040_evttabfuncao_importar import read_s1040_evttabfuncao from emensageriapro.esocial.views.s1040_evttabfuncao_gerar_xml import gerar_xml_assinado dados = read_s1040_evttabfuncao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabHorTur' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1050_evttabhortur_importar import read_s1050_evttabhortur from emensageriapro.esocial.views.s1050_evttabhortur_gerar_xml import gerar_xml_assinado dados = read_s1050_evttabhortur(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabAmbiente' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1060_evttabambiente_importar import read_s1060_evttabambiente from emensageriapro.esocial.views.s1060_evttabambiente_gerar_xml import gerar_xml_assinado dados = read_s1060_evttabambiente(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabProcesso' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1070_evttabprocesso_importar import read_s1070_evttabprocesso from emensageriapro.esocial.views.s1070_evttabprocesso_gerar_xml import gerar_xml_assinado dados = read_s1070_evttabprocesso(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabOperPort' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1080_evttaboperport_importar import read_s1080_evttaboperport from emensageriapro.esocial.views.s1080_evttaboperport_gerar_xml import gerar_xml_assinado dados = read_s1080_evttaboperport(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtRemun' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1200_evtremun_importar import read_s1200_evtremun from emensageriapro.esocial.views.s1200_evtremun_gerar_xml import gerar_xml_assinado dados = read_s1200_evtremun(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtRmnRPPS' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1202_evtrmnrpps_importar import read_s1202_evtrmnrpps from emensageriapro.esocial.views.s1202_evtrmnrpps_gerar_xml import gerar_xml_assinado dados = read_s1202_evtrmnrpps(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtBenPrRP' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1207_evtbenprrp_importar import read_s1207_evtbenprrp from emensageriapro.esocial.views.s1207_evtbenprrp_gerar_xml import gerar_xml_assinado dados = read_s1207_evtbenprrp(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtPgtos' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1210_evtpgtos_importar import read_s1210_evtpgtos from emensageriapro.esocial.views.s1210_evtpgtos_gerar_xml import gerar_xml_assinado dados = read_s1210_evtpgtos(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAqProd' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1250_evtaqprod_importar import read_s1250_evtaqprod from emensageriapro.esocial.views.s1250_evtaqprod_gerar_xml import gerar_xml_assinado dados = read_s1250_evtaqprod(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtComProd' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1260_evtcomprod_importar import read_s1260_evtcomprod from emensageriapro.esocial.views.s1260_evtcomprod_gerar_xml import gerar_xml_assinado dados = read_s1260_evtcomprod(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtContratAvNP' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1270_evtcontratavnp_importar import read_s1270_evtcontratavnp from emensageriapro.esocial.views.s1270_evtcontratavnp_gerar_xml import gerar_xml_assinado dados = read_s1270_evtcontratavnp(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtInfoComplPer' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1280_evtinfocomplper_importar import read_s1280_evtinfocomplper from emensageriapro.esocial.views.s1280_evtinfocomplper_gerar_xml import gerar_xml_assinado dados = read_s1280_evtinfocomplper(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTotConting' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1295_evttotconting_importar import read_s1295_evttotconting from emensageriapro.esocial.views.s1295_evttotconting_gerar_xml import gerar_xml_assinado dados = read_s1295_evttotconting(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtReabreEvPer' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1298_evtreabreevper_importar import read_s1298_evtreabreevper from emensageriapro.esocial.views.s1298_evtreabreevper_gerar_xml import gerar_xml_assinado dados = read_s1298_evtreabreevper(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtFechaEvPer' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1299_evtfechaevper_importar import read_s1299_evtfechaevper from emensageriapro.esocial.views.s1299_evtfechaevper_gerar_xml import gerar_xml_assinado dados = read_s1299_evtfechaevper(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtContrSindPatr' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s1300_evtcontrsindpatr_importar import read_s1300_evtcontrsindpatr from emensageriapro.esocial.views.s1300_evtcontrsindpatr_gerar_xml import gerar_xml_assinado dados = read_s1300_evtcontrsindpatr(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAdmPrelim' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2190_evtadmprelim_importar import read_s2190_evtadmprelim from emensageriapro.esocial.views.s2190_evtadmprelim_gerar_xml import gerar_xml_assinado dados = read_s2190_evtadmprelim(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAdmissao' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2200_evtadmissao_importar import read_s2200_evtadmissao from emensageriapro.esocial.views.s2200_evtadmissao_gerar_xml import gerar_xml_assinado dados = read_s2200_evtadmissao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAltCadastral' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2205_evtaltcadastral_importar import read_s2205_evtaltcadastral from emensageriapro.esocial.views.s2205_evtaltcadastral_gerar_xml import gerar_xml_assinado dados = read_s2205_evtaltcadastral(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAltContratual' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2206_evtaltcontratual_importar import read_s2206_evtaltcontratual from emensageriapro.esocial.views.s2206_evtaltcontratual_gerar_xml import gerar_xml_assinado dados = read_s2206_evtaltcontratual(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCAT' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2210_evtcat_importar import read_s2210_evtcat from emensageriapro.esocial.views.s2210_evtcat_gerar_xml import gerar_xml_assinado dados = read_s2210_evtcat(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtMonit' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2220_evtmonit_importar import read_s2220_evtmonit from emensageriapro.esocial.views.s2220_evtmonit_gerar_xml import gerar_xml_assinado dados = read_s2220_evtmonit(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtToxic' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2221_evttoxic_importar import read_s2221_evttoxic from emensageriapro.esocial.views.s2221_evttoxic_gerar_xml import gerar_xml_assinado dados = read_s2221_evttoxic(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAfastTemp' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2230_evtafasttemp_importar import read_s2230_evtafasttemp from emensageriapro.esocial.views.s2230_evtafasttemp_gerar_xml import gerar_xml_assinado dados = read_s2230_evtafasttemp(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCessao' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2231_evtcessao_importar import read_s2231_evtcessao from emensageriapro.esocial.views.s2231_evtcessao_gerar_xml import gerar_xml_assinado dados = read_s2231_evtcessao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtExpRisco' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2240_evtexprisco_importar import read_s2240_evtexprisco from emensageriapro.esocial.views.s2240_evtexprisco_gerar_xml import gerar_xml_assinado dados = read_s2240_evtexprisco(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtInsApo' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2241_evtinsapo_importar import read_s2241_evtinsapo from emensageriapro.esocial.views.s2241_evtinsapo_gerar_xml import gerar_xml_assinado dados = read_s2241_evtinsapo(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTreiCap' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2245_evttreicap_importar import read_s2245_evttreicap from emensageriapro.esocial.views.s2245_evttreicap_gerar_xml import gerar_xml_assinado dados = read_s2245_evttreicap(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAvPrevio' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2250_evtavprevio_importar import read_s2250_evtavprevio from emensageriapro.esocial.views.s2250_evtavprevio_gerar_xml import gerar_xml_assinado dados = read_s2250_evtavprevio(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtConvInterm' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2260_evtconvinterm_importar import read_s2260_evtconvinterm from emensageriapro.esocial.views.s2260_evtconvinterm_gerar_xml import gerar_xml_assinado dados = read_s2260_evtconvinterm(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtReintegr' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2298_evtreintegr_importar import read_s2298_evtreintegr from emensageriapro.esocial.views.s2298_evtreintegr_gerar_xml import gerar_xml_assinado dados = read_s2298_evtreintegr(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtDeslig' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2299_evtdeslig_importar import read_s2299_evtdeslig from emensageriapro.esocial.views.s2299_evtdeslig_gerar_xml import gerar_xml_assinado dados = read_s2299_evtdeslig(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTSVInicio' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2300_evttsvinicio_importar import read_s2300_evttsvinicio from emensageriapro.esocial.views.s2300_evttsvinicio_gerar_xml import gerar_xml_assinado dados = read_s2300_evttsvinicio(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTSVAltContr' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2306_evttsvaltcontr_importar import read_s2306_evttsvaltcontr from emensageriapro.esocial.views.s2306_evttsvaltcontr_gerar_xml import gerar_xml_assinado dados = read_s2306_evttsvaltcontr(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTSVTermino' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2399_evttsvtermino_importar import read_s2399_evttsvtermino from emensageriapro.esocial.views.s2399_evttsvtermino_gerar_xml import gerar_xml_assinado dados = read_s2399_evttsvtermino(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCdBenefIn' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2400_evtcdbenefin_importar import read_s2400_evtcdbenefin from emensageriapro.esocial.views.s2400_evtcdbenefin_gerar_xml import gerar_xml_assinado dados = read_s2400_evtcdbenefin(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCdBenefAlt' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2405_evtcdbenefalt_importar import read_s2405_evtcdbenefalt from emensageriapro.esocial.views.s2405_evtcdbenefalt_gerar_xml import gerar_xml_assinado dados = read_s2405_evtcdbenefalt(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCdBenIn' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2410_evtcdbenin_importar import read_s2410_evtcdbenin from emensageriapro.esocial.views.s2410_evtcdbenin_gerar_xml import gerar_xml_assinado dados = read_s2410_evtcdbenin(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCdBenAlt' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2416_evtcdbenalt_importar import read_s2416_evtcdbenalt from emensageriapro.esocial.views.s2416_evtcdbenalt_gerar_xml import gerar_xml_assinado dados = read_s2416_evtcdbenalt(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCdBenTerm' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s2420_evtcdbenterm_importar import read_s2420_evtcdbenterm from emensageriapro.esocial.views.s2420_evtcdbenterm_gerar_xml import gerar_xml_assinado dados = read_s2420_evtcdbenterm(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtExclusao' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s3000_evtexclusao_importar import read_s3000_evtexclusao from emensageriapro.esocial.views.s3000_evtexclusao_gerar_xml import gerar_xml_assinado dados = read_s3000_evtexclusao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtBasesTrab' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5001_evtbasestrab_importar import read_s5001_evtbasestrab from emensageriapro.esocial.views.s5001_evtbasestrab_gerar_xml import gerar_xml_assinado dados = read_s5001_evtbasestrab(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtIrrfBenef' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5002_evtirrfbenef_importar import read_s5002_evtirrfbenef from emensageriapro.esocial.views.s5002_evtirrfbenef_gerar_xml import gerar_xml_assinado dados = read_s5002_evtirrfbenef(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtBasesFGTS' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5003_evtbasesfgts_importar import read_s5003_evtbasesfgts from emensageriapro.esocial.views.s5003_evtbasesfgts_gerar_xml import gerar_xml_assinado dados = read_s5003_evtbasesfgts(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCS' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5011_evtcs_importar import read_s5011_evtcs from emensageriapro.esocial.views.s5011_evtcs_gerar_xml import gerar_xml_assinado dados = read_s5011_evtcs(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtIrrf' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5012_evtirrf_importar import read_s5012_evtirrf from emensageriapro.esocial.views.s5012_evtirrf_gerar_xml import gerar_xml_assinado dados = read_s5012_evtirrf(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtFGTS' in xml) and ('eSocial' in xml): from emensageriapro.esocial.views.s5013_evtfgts_importar import read_s5013_evtfgts from emensageriapro.esocial.views.s5013_evtfgts_gerar_xml import gerar_xml_assinado dados = read_s5013_evtfgts(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtInfoContri' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r1000_evtinfocontri_importar import read_r1000_evtinfocontri from emensageriapro.efdreinf.views.r1000_evtinfocontri_gerar_xml import gerar_xml_assinado dados = read_r1000_evtinfocontri(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTabProcesso' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r1070_evttabprocesso_importar import read_r1070_evttabprocesso from emensageriapro.efdreinf.views.r1070_evttabprocesso_gerar_xml import gerar_xml_assinado dados = read_r1070_evttabprocesso(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtServTom' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2010_evtservtom_importar import read_r2010_evtservtom from emensageriapro.efdreinf.views.r2010_evtservtom_gerar_xml import gerar_xml_assinado dados = read_r2010_evtservtom(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtServPrest' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2020_evtservprest_importar import read_r2020_evtservprest from emensageriapro.efdreinf.views.r2020_evtservprest_gerar_xml import gerar_xml_assinado dados = read_r2020_evtservprest(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAssocDespRec' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2030_evtassocdesprec_importar import read_r2030_evtassocdesprec from emensageriapro.efdreinf.views.r2030_evtassocdesprec_gerar_xml import gerar_xml_assinado dados = read_r2030_evtassocdesprec(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtAssocDespRep' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2040_evtassocdesprep_importar import read_r2040_evtassocdesprep from emensageriapro.efdreinf.views.r2040_evtassocdesprep_gerar_xml import gerar_xml_assinado dados = read_r2040_evtassocdesprep(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtComProd' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2050_evtcomprod_importar import read_r2050_evtcomprod from emensageriapro.efdreinf.views.r2050_evtcomprod_gerar_xml import gerar_xml_assinado dados = read_r2050_evtcomprod(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtCPRB' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2060_evtcprb_importar import read_r2060_evtcprb from emensageriapro.efdreinf.views.r2060_evtcprb_gerar_xml import gerar_xml_assinado dados = read_r2060_evtcprb(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtPgtosDivs' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2070_evtpgtosdivs_importar import read_r2070_evtpgtosdivs from emensageriapro.efdreinf.views.r2070_evtpgtosdivs_gerar_xml import gerar_xml_assinado dados = read_r2070_evtpgtosdivs(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtReabreEvPer' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2098_evtreabreevper_importar import read_r2098_evtreabreevper from emensageriapro.efdreinf.views.r2098_evtreabreevper_gerar_xml import gerar_xml_assinado dados = read_r2098_evtreabreevper(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtFechaEvPer' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r2099_evtfechaevper_importar import read_r2099_evtfechaevper from emensageriapro.efdreinf.views.r2099_evtfechaevper_gerar_xml import gerar_xml_assinado dados = read_r2099_evtfechaevper(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtEspDesportivo' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r3010_evtespdesportivo_importar import read_r3010_evtespdesportivo from emensageriapro.efdreinf.views.r3010_evtespdesportivo_gerar_xml import gerar_xml_assinado dados = read_r3010_evtespdesportivo(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTotal' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r5001_evttotal_importar import read_r5001_evttotal from emensageriapro.efdreinf.views.r5001_evttotal_gerar_xml import gerar_xml_assinado dados = read_r5001_evttotal(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtTotalContrib' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r5011_evttotalcontrib_importar import read_r5011_evttotalcontrib from emensageriapro.efdreinf.views.r5011_evttotalcontrib_gerar_xml import gerar_xml_assinado dados = read_r5011_evttotalcontrib(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) elif ('evtExclusao' in xml) and ('Reinf' in xml): from emensageriapro.efdreinf.views.r9000_evtexclusao_importar import read_r9000_evtexclusao from emensageriapro.efdreinf.views.r9000_evtexclusao_gerar_xml import gerar_xml_assinado dados = read_r9000_evtexclusao(request, dados, arquivo, validar) gerar_xml_assinado(request, dados['id']) return dados
def scripts_processar_arquivos(request, tab): create_import_dirs() import os.path from emensageriapro.settings import BASE_DIR, VERSOES_EFDREINF, VERSOES_ESOCIAL from emensageriapro.functions import get_identidade_evento, get_versao_evento from emensageriapro.mensageiro.functions.funcoes_importacao import importar_arquivo arquivos_lista = ImportacaoArquivos.objects.all() ImportacaoArquivosEventos.objects.\ exclude(importacao_arquivos__in=arquivos_lista).delete() arquivos = ImportacaoArquivosEventos.objects.\ filter(status=STATUS_IMPORT_AGUARDANDO).exclude(id=0).all() for arquivo in arquivos: filename = arquivo.arquivo dados_eventos = {} if os.path.isfile(BASE_DIR + filename) and '.xml' in filename.lower(): dados_eventos['identidade_evento'] = get_identidade_evento(ler_arquivo(filename)) dados_eventos['versao'] = get_versao_evento(ler_arquivo(filename)) existe_identidade_esocial = TransmissorEventosEsocial.objects.\ filter(identidade=dados_eventos['identidade_evento']).all() existe_identidade_efdreinf = TransmissorEventosEfdreinf.objects.\ filter(identidade=dados_eventos['identidade_evento']).all() if existe_identidade_esocial or existe_identidade_efdreinf: dados_eventos['status'] = STATUS_IMPORT_ERRO_IDENTIDADE_EXISTENTE error_list = ['Não é possível importar o evento pois o ID já existe em nossa base!'] move_event(arquivo, 'erros') elif dados_eventos['versao'] in VERSOES_ESOCIAL or dados_eventos['versao'] in VERSOES_EFDREINF: quant_erros, error_list = validar_arquivo(request, filename, lang='pt') if not quant_erros or (quant_erros == 1 and 'Signature' in str(error_list)): dados_importacao = importar_arquivo(arquivo, request, False) dados_eventos['evento'] = dados_importacao['evento'] dados_eventos['status'] = STATUS_IMPORT_PROCESSADO # xml_ger, xml_imp = verificacao_importacao_funcao(arquivo) # if xml_ger in xml_imp: # print 'OK' # else: # print 'ERROR' else: dados_eventos['status'] = STATUS_IMPORT_ERRO_PROCESSAMENTO move_event(arquivo, 'erros') else: dados_eventos['status'] = STATUS_IMPORT_ERRO_VERSAO_LEIAUTE error_list = ['Versão do evento incompatível!'] move_event(arquivo, 'erros') else: dados_eventos['status'] = STATUS_IMPORT_ERRO_ARQUIVO_INVALIDO error_list = ['Arquivo não encontrado!'] dados_eventos['validacoes'] = '<br>'.join(error_list) ImportacaoArquivosEventos.objects.\ filter(id=arquivo.id).update(**dados_eventos) if tab == 'mapa': messages.success(request, 'Processamento realizado com sucesso...') return redirect('mapa_importacoes', tab='master') return HttpResponse('')