@ -1031,65 +1031,34 @@ def adjust_acompanhamentomateria(new, old):
new . confirmado = True
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 ) :
def adjust_documentoadministrativo ( new , old ) :
if old . num_protocolo :
if old . num_protocolo :
nota = None
numero , ano = old . num_protocolo , new . ano
ano_original = new . ano
# False < True => o primeiro será o protocolo não anulado
protocolo = Protocolo . objects . filter (
protocolos = Protocolo . objects . filter (
numero = old . num_protocolo , ano = new . ano )
numero = numero , ano = ano ) . order_by ( ' anulado ' )
if not protocolo :
if protocolos :
# tentamos encontrar o protocolo no ano seguinte
new . protocolo = protocolos [ 0 ]
ano_novo = ano_original + 1
else :
protocolo = Protocolo . objects . filter ( numero = old . num_protocolo ,
# Se não achamos o protocolo registramos no número externo
ano = ano_novo )
new . numero_externo = numero
if protocolo :
nota = NOTA_DOCADM + '''
nota = '''
O protocolo vinculado é o de mesmo número , porém do ano seguinte ( { ano_novo } ) ,
## NOTA DE MIGRAÇÃO DE DADOS DO SAPL 2.5 ##
pois não existe protocolo no sistema com este número no ano { ano_original } .
O número de protocolo original deste documento era [ { numero } ] , ano [ { ano } ] .
'''
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
nota = NOTA_DOCADM + '''
Não existe no sistema nenhum protocolo com estes dados
Não existe no sistema nenhum protocolo com estes dados
e portanto nenhum protocolo foi vinculado a este documento .
e portanto nenhum protocolo foi vinculado a este documento .
Colocamos então o número de protocolo no campo " número externo " .
Colocamos então o número de protocolo no campo " número externo " .
'''
'''
nota = nota . format (
nota = nota . strip ( ) . format ( numero = numero , ano = ano )
num_protocolo = old . num_protocolo ,
msg = ' Protocolo {numero} faltando (referenciado ' \
ano_original = ano_original )
' no documento administrativo {cod_documento} ) '
msg = ' Protocolo {num_protocolo} faltando (referenciado ' \
warn ( ' protocolo_faltando ' , msg ,
' no documento administrativo {cod_documento} ) '
{ ' numero ' : numero ,
warn ( ' protocolo_faltando ' , msg ,
' cod_documento ' : old . cod_documento ,
{ ' num_protocolo ' : old . num_protocolo ,
' nota ' : nota } )
' 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
new . observacao + = ( ' \n \n ' if new . observacao else ' ' ) + nota