@ -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