Browse Source

Retira associação de doc a protocolo do ano seguinte

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.
pull/2255/head
Marcio Mazza 6 years ago
parent
commit
f25a4c9011
  1. 61
      sapl/legacy/migracao_dados.py

61
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})
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 mesmo no ano anteriro
# colocamos no número externo
new.numero_externo = old.num_protocolo
# 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 ' \
nota = nota.strip().format(numero=numero, ano=ano)
msg = 'Protocolo {numero} faltando (referenciado ' \
'no documento administrativo {cod_documento})'
warn('protocolo_faltando', msg,
{'num_protocolo': old.num_protocolo,
{'numero': numero,
'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:
new.observacao += ('\n\n' if new.observacao else '') + nota

Loading…
Cancel
Save