From f25a4c9011a68e6994556dac21390d3906fa699a Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Thu, 13 Sep 2018 15:20:42 -0300 Subject: [PATCH] =?UTF-8?q?Retira=20associa=C3=A7=C3=A3o=20de=20doc=20a=20?= =?UTF-8?q?protocolo=20do=20ano=20seguinte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Associávamos o documento administrativo a um protocolo no ano seguinte quando não encontrávamos protocolo no ano do documento. Isso estava gerando várias associações erradas então abolimos. --- sapl/legacy/migracao_dados.py | 71 ++++++++++------------------------- 1 file changed, 20 insertions(+), 51 deletions(-) diff --git a/sapl/legacy/migracao_dados.py b/sapl/legacy/migracao_dados.py index ae4d4b158..1be1f6e96 100644 --- a/sapl/legacy/migracao_dados.py +++ b/sapl/legacy/migracao_dados.py @@ -1031,65 +1031,34 @@ def adjust_acompanhamentomateria(new, old): new.confirmado = True -NOTA_DOCADM = ''' -## NOTA DE MIGRAÇÃO DE DADOS DO SAPL 2.5 ## -O número de protocolo original deste documento era [{num_protocolo}], ano {ano_original}. -'''.strip() # noqa - - def adjust_documentoadministrativo(new, old): if old.num_protocolo: - nota = None - ano_original = new.ano - protocolo = Protocolo.objects.filter( - numero=old.num_protocolo, ano=new.ano) - if not protocolo: - # tentamos encontrar o protocolo no ano seguinte - ano_novo = ano_original + 1 - protocolo = Protocolo.objects.filter(numero=old.num_protocolo, - ano=ano_novo) - if protocolo: - nota = NOTA_DOCADM + ''' -O protocolo vinculado é o de mesmo número, porém do ano seguinte ({ano_novo}), -pois não existe protocolo no sistema com este número no ano {ano_original}. -''' - nota = nota.strip().format(num_protocolo=old.num_protocolo, - ano_original=ano_original, - ano_novo=ano_novo) - msg = 'PROTOCOLO ENCONTRADO APENAS PARA O ANO SEGUINTE!!!!! '\ - 'DocumentoAdministrativo: {cod_documento}, '\ - 'numero_protocolo: {num_protocolo}, '\ - 'ano doc adm: {ano_original}' - warn('protocolo_ano_seguinte', msg, - {'cod_documento': old.cod_documento, - 'num_protocolo': old.num_protocolo, - 'ano_original': ano_original, - 'nota': nota}) - else: - # Se não achamos mesmo no ano anteriro - # colocamos no número externo - new.numero_externo = old.num_protocolo + numero, ano = old.num_protocolo, new.ano + # False < True => o primeiro será o protocolo não anulado + protocolos = Protocolo.objects.filter( + numero=numero, ano=ano).order_by('anulado') + if protocolos: + new.protocolo = protocolos[0] + else: + # Se não achamos o protocolo registramos no número externo + new.numero_externo = numero + + nota = ''' +## NOTA DE MIGRAÇÃO DE DADOS DO SAPL 2.5 ## +O número de protocolo original deste documento era [{numero}], ano [{ano}]. - nota = NOTA_DOCADM + ''' Não existe no sistema nenhum protocolo com estes dados e portanto nenhum protocolo foi vinculado a este documento. Colocamos então o número de protocolo no campo "número externo". ''' - nota = nota.format( - num_protocolo=old.num_protocolo, - ano_original=ano_original) - msg = 'Protocolo {num_protocolo} faltando (referenciado ' \ - 'no documento administrativo {cod_documento})' - warn('protocolo_faltando', msg, - {'num_protocolo': old.num_protocolo, - 'cod_documento': old.cod_documento, - 'nota': nota}) - if protocolo: - assert len(protocolo) == 1, 'mais de um protocolo encontrado' - [new.protocolo] = protocolo - # adiciona nota ao final da observação - if nota: + nota = nota.strip().format(numero=numero, ano=ano) + msg = 'Protocolo {numero} faltando (referenciado ' \ + 'no documento administrativo {cod_documento})' + warn('protocolo_faltando', msg, + {'numero': numero, + 'cod_documento': old.cod_documento, + 'nota': nota}) new.observacao += ('\n\n' if new.observacao else '') + nota