Browse Source

Merge pull request #1490 from interlegis/995-migrar-tipo-numeracao-protocolo

fix #995 - migrar tipo numeracao protocolo
pull/1493/head
Luciano Henrique Nunes de Almeida 7 years ago
committed by GitHub
parent
commit
b2a87c6043
  1. 19
      sapl/legacy/migration.py
  2. 13
      sapl/legacy/models.py

19
sapl/legacy/migration.py

@ -16,12 +16,14 @@ from django.db import connections, transaction
from django.db.models import Count, Max
from django.db.models.base import ModelBase
from sapl.base.models import AppConfig as AppConf
from sapl.base.models import Autor, ProblemaMigracao, TipoAutor
from sapl.comissoes.models import Comissao, Composicao, Participacao
from sapl.materia.models import (AcompanhamentoMateria, Proposicao,
StatusTramitacao, TipoDocumento,
TipoMateriaLegislativa, TipoProposicao,
Tramitacao)
from sapl.legacy.models import TipoNumeracaoProtocolo
from sapl.norma.models import (AssuntoNorma, NormaJuridica, NormaRelacionada,
TipoVinculoNormaJuridica)
from sapl.parlamentares.models import (Legislatura, Mandato, Parlamentar,
@ -206,6 +208,22 @@ def fill_vinculo_norma_juridica():
TipoVinculoNormaJuridica.objects.bulk_create(lista_objs)
def fill_tipo_numeracao_protocolo():
letra = 'A'
try:
tipo = TipoNumeracaoProtocolo.objects.latest('dat_inicial_protocolo')
if 'POR ANO' in tipo.des_numeracao_protocolo:
letra = 'A'
elif 'POR LEGISLATURA' in tipo.des_numeracao_protocolo:
letra = 'L'
elif 'CONSECUTIVO' in tipo.des_numeracao_protocolo:
letra = 'U'
except Exception as e:
pass
appconf = AppConf(sequencia_numeracao=letra)
appconf.save()
# Uma anomalia no sapl 2.5 causa a duplicação de registros de votação.
# Essa duplicação deve ser eliminada para que não haja erro no sapl 3.1
def excluir_registrovotacao_duplicados():
@ -305,6 +323,7 @@ class DataMigrator:
'--database=default', '--no-input'], stdout=PIPE)
fill_vinculo_norma_juridica()
fill_tipo_numeracao_protocolo()
info('Começando migração: %s...' % obj)
self._do_migrate(obj)

13
sapl/legacy/models.py

@ -968,6 +968,19 @@ class TipoNormaJuridica(models.Model):
db_table = 'tipo_norma_juridica'
class TipoNumeracaoProtocolo(models.Model):
seq_tip_num_protocolo = models.AutoField(primary_key=True)
tip_numeracao_protocolo = models.IntegerField()
des_numeracao_protocolo = models.CharField(max_length=50)
dat_inicial_protocolo = models.DateTimeField()
vlr_inicial_protocolo = models.IntegerField()
ind_excluido = models.IntegerField()
class Meta:
managed = False
db_table = 'tipo_numeracao_protocolo'
class TipoProposicao(models.Model):
tip_proposicao = models.AutoField(primary_key=True)
des_tipo_proposicao = models.CharField(max_length=50)

Loading…
Cancel
Save