Browse Source

Annotate each field with its old name (as comment)

pull/6/head
Marcio Mazza 10 years ago
parent
commit
bad89c694e
  1. 74
      comissoes/models.py
  2. 79
      legacy/scripts/bootstrap_field_mappings.py
  3. 30
      lexml/models.py
  4. 238
      materia/models.py
  5. 79
      norma/models.py
  6. 164
      parlamentares/models.py
  7. 108
      protocoloadm/models.py
  8. 127
      sessao/models.py

74
comissoes/models.py

@ -4,52 +4,52 @@ from parlamentares.models import Parlamentar
class TipoComissao(models.Model): class TipoComissao(models.Model):
nome_tipo_comissao = models.CharField(max_length=50) nome_tipo_comissao = models.CharField(max_length=50) # nom_tipo_comissao
sigla_natureza_comissao = models.CharField(max_length=1) sigla_natureza_comissao = models.CharField(max_length=1) # sgl_natureza_comissao
sigla_tipo_comissao = models.CharField(max_length=10) sigla_tipo_comissao = models.CharField(max_length=10) # sgl_tipo_comissao
descricao_dispositivo_regimental = models.CharField(max_length=50, blank=True, null=True) descricao_dispositivo_regimental = models.CharField(max_length=50, blank=True, null=True) # des_dispositivo_regimental
class Comissao(models.Model): class Comissao(models.Model):
tipo_comissao = models.ForeignKey(TipoComissao) tipo_comissao = models.ForeignKey(TipoComissao) # tip_comissao
nome_comissao = models.CharField(max_length=60) nome_comissao = models.CharField(max_length=60) # nom_comissao
sigla_comissao = models.CharField(max_length=10) sigla_comissao = models.CharField(max_length=10) # sgl_comissao
data_criacao = models.DateField() data_criacao = models.DateField() # dat_criacao
data_extincao = models.DateField(blank=True, null=True) data_extincao = models.DateField(blank=True, null=True) # dat_extincao
nome_apelido_temp = models.CharField(max_length=100, blank=True, null=True) nome_apelido_temp = models.CharField(max_length=100, blank=True, null=True) # nom_apelido_temp
data_instalacao_temp = models.DateField(blank=True, null=True) data_instalacao_temp = models.DateField(blank=True, null=True) # dat_instalacao_temp
data_final_prevista_temp = models.DateField(blank=True, null=True) data_final_prevista_temp = models.DateField(blank=True, null=True) # dat_final_prevista_temp
data_prorrogada_temp = models.DateField(blank=True, null=True) data_prorrogada_temp = models.DateField(blank=True, null=True) # dat_prorrogada_temp
data_fim_comissao = models.DateField(blank=True, null=True) data_fim_comissao = models.DateField(blank=True, null=True) # dat_fim_comissao
nome_secretario = models.CharField(max_length=30, blank=True, null=True) nome_secretario = models.CharField(max_length=30, blank=True, null=True) # nom_secretario
numero_tel_reuniao = models.CharField(max_length=15, blank=True, null=True) numero_tel_reuniao = models.CharField(max_length=15, blank=True, null=True) # num_tel_reuniao
endereco_secretaria = models.CharField(max_length=100, blank=True, null=True) endereco_secretaria = models.CharField(max_length=100, blank=True, null=True) # end_secretaria
numero_tel_secretaria = models.CharField(max_length=15, blank=True, null=True) numero_tel_secretaria = models.CharField(max_length=15, blank=True, null=True) # num_tel_secretaria
numero_fax_secretaria = models.CharField(max_length=15, blank=True, null=True) numero_fax_secretaria = models.CharField(max_length=15, blank=True, null=True) # num_fax_secretaria
descricao_agenda_reuniao = models.CharField(max_length=100, blank=True, null=True) descricao_agenda_reuniao = models.CharField(max_length=100, blank=True, null=True) # des_agenda_reuniao
local_reuniao = models.CharField(max_length=100, blank=True, null=True) local_reuniao = models.CharField(max_length=100, blank=True, null=True) # loc_reuniao
txt_finalidade = models.TextField(blank=True, null=True) txt_finalidade = models.TextField(blank=True, null=True) # txt_finalidade
endereco_email = models.CharField(max_length=100, blank=True, null=True) endereco_email = models.CharField(max_length=100, blank=True, null=True) # end_email
unid_deliberativa = models.BooleanField() unid_deliberativa = models.BooleanField() # ind_unid_deliberativa
class PeriodoCompComissao(models.Model): class PeriodoCompComissao(models.Model):
data_inicio_periodo = models.DateField() data_inicio_periodo = models.DateField() # dat_inicio_periodo
data_fim_periodo = models.DateField(blank=True, null=True) data_fim_periodo = models.DateField(blank=True, null=True) # dat_fim_periodo
class CargoComissao(models.Model): class CargoComissao(models.Model):
nome = models.CharField(max_length=50) nome = models.CharField(max_length=50) # des_cargo
unico = models.BooleanField() unico = models.BooleanField() # ind_unico
class ComposicaoComissao(models.Model): class ComposicaoComissao(models.Model):
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
comissao = models.ForeignKey(Comissao) comissao = models.ForeignKey(Comissao) # cod_comissao
periodo_comp = models.ForeignKey(PeriodoCompComissao) periodo_comp = models.ForeignKey(PeriodoCompComissao) # cod_periodo_comp
cargo = models.ForeignKey(CargoComissao) cargo = models.ForeignKey(CargoComissao) # cod_cargo
titular = models.BooleanField() titular = models.BooleanField() # ind_titular
data_designacao = models.DateField() data_designacao = models.DateField() # dat_designacao
data_desligamento = models.DateField(blank=True, null=True) data_desligamento = models.DateField(blank=True, null=True) # dat_desligamento
descricao_motivo_desligamento = models.CharField(max_length=150, blank=True, null=True) descricao_motivo_desligamento = models.CharField(max_length=150, blank=True, null=True) # des_motivo_desligamento
obs_composicao = models.CharField(max_length=150, blank=True, null=True) obs_composicao = models.CharField(max_length=150, blank=True, null=True) # obs_composicao

79
legacy/scripts/bootstrap_field_mappings.py

@ -1,3 +1,5 @@
from inspect import getsourcelines
from collections import defaultdict from collections import defaultdict
from difflib import SequenceMatcher from difflib import SequenceMatcher
from os.path import dirname from os.path import dirname
@ -7,31 +9,52 @@ import yaml
from migration_base import * from migration_base import *
# output to bootstrap field_mappings.yaml def print_field_mappings():
for app in appconfs: # output to bootstrap field_mappings.yaml
print '\n%s\n%s:' % ('#' * 80, app.name) for app in appconfs:
for model in app.models.values(): print '\n%s\n%s:' % ('#' * 80, app.name)
print '\n %s:' % model.__name__ for model in app.models.values():
current_fields = [f.name for f in model._meta.fields] print '\n %s:' % model.__name__
legacy_fields = [f.name for f in legacy_app.get_model(model.__name__)._meta.fields if f.name != 'ind_excluido'] new_fields = [f.name for f in model._meta.fields]
for pair in zip(current_fields, legacy_fields): legacy_fields = [f.name for f in legacy_app.get_model(
print ' %s : %s' % pair model.__name__)._meta.fields if f.name != 'ind_excluido']
for pair in zip(new_fields, legacy_fields):
print ' %s : %s' % pair
def similar(a, b): return SequenceMatcher(None, a, b).ratio()
def similar(a, b):
mappings = yaml.load(open(dirname(__file__) + '/field_mappings.yaml', 'r')) return SequenceMatcher(None, a, b).ratio()
different_pairs = defaultdict(list) mappings = yaml.load(open(dirname(__file__) + '/field_mappings.yaml', 'r'))
for map in mappings.values():
for name, fields in map.items(): different_pairs = defaultdict(list)
for a, b in fields.items(): for map in mappings.values():
if a != 'id' and similar(a, b) < .7: for name, fields in map.items():
different_pairs[name].append((a, b)) for a, b in fields.items():
if a != 'id' and similar(a, b) < .7:
if different_pairs: different_pairs[name].append((a, b))
print '\n\n######## Different Pairs #########'
for name, pairs in different_pairs.items(): if different_pairs:
print '#', name print '\n\n######## Different Pairs #########'
for a, b in pairs: for name, pairs in different_pairs.items():
print '# ', a, b print '#', name
for a, b in pairs:
print '# ', a, b
def print_commented_source(model):
new_fields = [f.name for f in model._meta.fields]
legacy_fields = [f.name for f in legacy_app.get_model(model.__name__)._meta.fields if f.name != 'ind_excluido']
new_to_old = dict(zip(new_fields, legacy_fields))
lines = getsourcelines(model)[0]
def is_field(line):
return not line.strip().startswith('#') and ' = ' in line
cols = max(map(len, [line for line in lines if is_field(line)]))
print '\n'
for line in lines:
if not is_field(line):
print line.rstrip()
else:
field = line.split('=')[0].strip()
print '%s # %s' % (line.rstrip().ljust(cols), new_to_old[field])

30
lexml/models.py

@ -2,21 +2,21 @@ from django.db import models
class LexmlRegistroProvedor(models.Model): class LexmlRegistroProvedor(models.Model):
id_provedor = models.IntegerField() id_provedor = models.IntegerField() # id_provedor
nome_provedor = models.CharField(max_length=255) nome_provedor = models.CharField(max_length=255) # nom_provedor
sigla_provedor = models.CharField(max_length=15) sigla_provedor = models.CharField(max_length=15) # sgl_provedor
adm_email = models.CharField(max_length=50, blank=True, null=True) adm_email = models.CharField(max_length=50, blank=True, null=True) # adm_email
nome_responsavel = models.CharField(max_length=255, blank=True, null=True) nome_responsavel = models.CharField(max_length=255, blank=True, null=True) # nom_responsavel
tipo = models.CharField(max_length=50) tipo = models.CharField(max_length=50) # tipo
id_responsavel = models.IntegerField(blank=True, null=True) id_responsavel = models.IntegerField(blank=True, null=True) # id_responsavel
xml_provedor = models.TextField(blank=True, null=True) xml_provedor = models.TextField(blank=True, null=True) # xml_provedor
class LexmlRegistroPublicador(models.Model): class LexmlRegistroPublicador(models.Model):
id_publicador = models.IntegerField() id_publicador = models.IntegerField() # id_publicador
nome_publicador = models.CharField(max_length=255) nome_publicador = models.CharField(max_length=255) # nom_publicador
adm_email = models.CharField(max_length=50, blank=True, null=True) adm_email = models.CharField(max_length=50, blank=True, null=True) # adm_email
sigla = models.CharField(max_length=255, blank=True, null=True) sigla = models.CharField(max_length=255, blank=True, null=True) # sigla
nome_responsavel = models.CharField(max_length=255, blank=True, null=True) nome_responsavel = models.CharField(max_length=255, blank=True, null=True) # nom_responsavel
tipo = models.CharField(max_length=50) tipo = models.CharField(max_length=50) # tipo
id_responsavel = models.IntegerField() id_responsavel = models.IntegerField() # id_responsavel

238
materia/models.py

@ -5,46 +5,46 @@ from parlamentares.models import Parlamentar, Partido
class TipoMateriaLegislativa(models.Model): class TipoMateriaLegislativa(models.Model):
sigla_tipo_materia = models.CharField(max_length=5) sigla_tipo_materia = models.CharField(max_length=5) # sgl_tipo_materia
descricao_tipo_materia = models.CharField(max_length=50) descricao_tipo_materia = models.CharField(max_length=50) # des_tipo_materia
num_automatica = models.BooleanField() num_automatica = models.BooleanField() # ind_num_automatica
quorum_minimo_votacao = models.IntegerField() quorum_minimo_votacao = models.IntegerField() # quorum_minimo_votacao
class RegimeTramitacao(models.Model): class RegimeTramitacao(models.Model):
descricao_regime_tramitacao = models.CharField(max_length=50) descricao_regime_tramitacao = models.CharField(max_length=50) # des_regime_tramitacao
class Origem(models.Model): class Origem(models.Model):
sigla_origem = models.CharField(max_length=10) sigla_origem = models.CharField(max_length=10) # sgl_origem
nome_origem = models.CharField(max_length=50) nome_origem = models.CharField(max_length=50) # nom_origem
class MateriaLegislativa(models.Model): class MateriaLegislativa(models.Model):
tipo_id_basica = models.ForeignKey(TipoMateriaLegislativa) tipo_id_basica = models.ForeignKey(TipoMateriaLegislativa) # tip_id_basica
numero_protocolo = models.IntegerField(blank=True, null=True) numero_protocolo = models.IntegerField(blank=True, null=True) # num_protocolo
numero_ident_basica = models.IntegerField() numero_ident_basica = models.IntegerField() # num_ident_basica
ano_ident_basica = models.SmallIntegerField() ano_ident_basica = models.SmallIntegerField() # ano_ident_basica
data_apresentacao = models.DateField(blank=True, null=True) data_apresentacao = models.DateField(blank=True, null=True) # dat_apresentacao
tipo_apresentacao = models.CharField(max_length=1, blank=True, null=True) tipo_apresentacao = models.CharField(max_length=1, blank=True, null=True) # tip_apresentacao
regime_tramitacao = models.ForeignKey(RegimeTramitacao) regime_tramitacao = models.ForeignKey(RegimeTramitacao) # cod_regime_tramitacao
data_publicacao = models.DateField(blank=True, null=True) data_publicacao = models.DateField(blank=True, null=True) # dat_publicacao
tipo_origem_externa = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, related_name='+') tipo_origem_externa = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True, related_name='+') # tip_origem_externa
numero_origem_externa = models.CharField(max_length=5, blank=True, null=True) numero_origem_externa = models.CharField(max_length=5, blank=True, null=True) # num_origem_externa
ano_origem_externa = models.SmallIntegerField(blank=True, null=True) ano_origem_externa = models.SmallIntegerField(blank=True, null=True) # ano_origem_externa
data_origem_externa = models.DateField(blank=True, null=True) data_origem_externa = models.DateField(blank=True, null=True) # dat_origem_externa
local_origem_externa = models.ForeignKey(Origem, blank=True, null=True) local_origem_externa = models.ForeignKey(Origem, blank=True, null=True) # cod_local_origem_externa
nome_apelido = models.CharField(max_length=50, blank=True, null=True) nome_apelido = models.CharField(max_length=50, blank=True, null=True) # nom_apelido
numero_dias_prazo = models.IntegerField(blank=True, null=True) numero_dias_prazo = models.IntegerField(blank=True, null=True) # num_dias_prazo
data_fim_prazo = models.DateField(blank=True, null=True) data_fim_prazo = models.DateField(blank=True, null=True) # dat_fim_prazo
indicador_tramitacao = models.BooleanField() indicador_tramitacao = models.BooleanField() # ind_tramitacao
polemica = models.NullBooleanField(blank=True) polemica = models.NullBooleanField(blank=True) # ind_polemica
descricao_objeto = models.CharField(max_length=150, blank=True, null=True) descricao_objeto = models.CharField(max_length=150, blank=True, null=True) # des_objeto
complementar = models.NullBooleanField(blank=True) complementar = models.NullBooleanField(blank=True) # ind_complementar
txt_ementa = models.TextField() txt_ementa = models.TextField() # txt_ementa
txt_indexacao = models.TextField(blank=True, null=True) txt_indexacao = models.TextField(blank=True, null=True) # txt_indexacao
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
txt_resultado = models.TextField(blank=True, null=True) txt_resultado = models.TextField(blank=True, null=True) # txt_resultado
# XXX novo # XXX novo
anexadas = models.ManyToManyField('self', through='Anexada', anexadas = models.ManyToManyField('self', through='Anexada',
symmetrical=False, related_name='anexo_de', symmetrical=False, related_name='anexo_de',
@ -52,148 +52,148 @@ class MateriaLegislativa(models.Model):
class AcompMateria(models.Model): class AcompMateria(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
endereco_email = models.CharField(max_length=100) endereco_email = models.CharField(max_length=100) # end_email
txt_hash = models.CharField(max_length=8) txt_hash = models.CharField(max_length=8) # txt_hash
class Anexada(models.Model): class Anexada(models.Model):
materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+') materia_principal = models.ForeignKey(MateriaLegislativa, related_name='+') # cod_materia_principal
materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+') materia_anexada = models.ForeignKey(MateriaLegislativa, related_name='+') # cod_materia_anexada
data_anexacao = models.DateField() data_anexacao = models.DateField() # dat_anexacao
data_desanexacao = models.DateField(blank=True, null=True) data_desanexacao = models.DateField(blank=True, null=True) # dat_desanexacao
class AssuntoMateria(models.Model): class AssuntoMateria(models.Model):
descricao_assunto = models.CharField(max_length=200) descricao_assunto = models.CharField(max_length=200) # des_assunto
descricao_dispositivo = models.CharField(max_length=50) descricao_dispositivo = models.CharField(max_length=50) # des_dispositivo
class TipoAutor(models.Model): class TipoAutor(models.Model):
descricao_tipo_autor = models.CharField(max_length=50) descricao_tipo_autor = models.CharField(max_length=50) # des_tipo_autor
class Autor(models.Model): class Autor(models.Model):
partido = models.ForeignKey(Partido, blank=True, null=True) partido = models.ForeignKey(Partido, blank=True, null=True) # cod_partido
comissao = models.ForeignKey(Comissao, blank=True, null=True) comissao = models.ForeignKey(Comissao, blank=True, null=True) # cod_comissao
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True) parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True) # cod_parlamentar
tipo = models.ForeignKey(TipoAutor) tipo = models.ForeignKey(TipoAutor) # tip_autor
nome_autor = models.CharField(max_length=50, blank=True, null=True) nome_autor = models.CharField(max_length=50, blank=True, null=True) # nom_autor
descricao_cargo = models.CharField(max_length=50, blank=True, null=True) descricao_cargo = models.CharField(max_length=50, blank=True, null=True) # des_cargo
col_username = models.CharField(max_length=50, blank=True, null=True) col_username = models.CharField(max_length=50, blank=True, null=True) # col_username
class Autoria(models.Model): class Autoria(models.Model):
autor = models.ForeignKey(Autor) autor = models.ForeignKey(Autor) # cod_autor
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
primeiro_autor = models.BooleanField() primeiro_autor = models.BooleanField() # ind_primeiro_autor
class DespachoInicial(models.Model): class DespachoInicial(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
comissao = models.ForeignKey(Comissao) comissao = models.ForeignKey(Comissao) # cod_comissao
class TipoDocumento(models.Model): class TipoDocumento(models.Model):
descricao_tipo_documento = models.CharField(max_length=50) descricao_tipo_documento = models.CharField(max_length=50) # des_tipo_documento
class DocumentoAcessorio(models.Model): class DocumentoAcessorio(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
tipo = models.ForeignKey(TipoDocumento) tipo = models.ForeignKey(TipoDocumento) # tip_documento
nome_documento = models.CharField(max_length=30) nome_documento = models.CharField(max_length=30) # nom_documento
data_documento = models.DateField(blank=True, null=True) data_documento = models.DateField(blank=True, null=True) # dat_documento
nome_autor_documento = models.CharField(max_length=50, blank=True, null=True) nome_autor_documento = models.CharField(max_length=50, blank=True, null=True) # nom_autor_documento
txt_ementa = models.TextField(blank=True, null=True) txt_ementa = models.TextField(blank=True, null=True) # txt_ementa
txt_indexacao = models.TextField(blank=True, null=True) txt_indexacao = models.TextField(blank=True, null=True) # txt_indexacao
class MateriaAssunto(models.Model): class MateriaAssunto(models.Model):
assunto = models.ForeignKey(AssuntoMateria) assunto = models.ForeignKey(AssuntoMateria) # cod_assunto
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
class Numeracao(models.Model): class Numeracao(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
tipo_materia = models.ForeignKey(TipoMateriaLegislativa) tipo_materia = models.ForeignKey(TipoMateriaLegislativa) # tip_materia
numero_materia = models.CharField(max_length=5) numero_materia = models.CharField(max_length=5) # num_materia
ano_materia = models.SmallIntegerField() ano_materia = models.SmallIntegerField() # ano_materia
data_materia = models.DateField(blank=True, null=True) data_materia = models.DateField(blank=True, null=True) # dat_materia
class Orgao(models.Model): class Orgao(models.Model):
nome_orgao = models.CharField(max_length=60) nome_orgao = models.CharField(max_length=60) # nom_orgao
sigla_orgao = models.CharField(max_length=10) sigla_orgao = models.CharField(max_length=10) # sgl_orgao
unid_deliberativa = models.BooleanField() unid_deliberativa = models.BooleanField() # ind_unid_deliberativa
endereco_orgao = models.CharField(max_length=100, blank=True, null=True) endereco_orgao = models.CharField(max_length=100, blank=True, null=True) # end_orgao
numero_tel_orgao = models.CharField(max_length=50, blank=True, null=True) numero_tel_orgao = models.CharField(max_length=50, blank=True, null=True) # num_tel_orgao
class TipoFimRelatoria(models.Model): class TipoFimRelatoria(models.Model):
descricao_fim_relatoria = models.CharField(max_length=50) descricao_fim_relatoria = models.CharField(max_length=50) # des_fim_relatoria
class Relatoria(models.Model): class Relatoria(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
tipo_fim_relatoria = models.ForeignKey(TipoFimRelatoria, blank=True, null=True) tipo_fim_relatoria = models.ForeignKey(TipoFimRelatoria, blank=True, null=True) # tip_fim_relatoria
comissao = models.ForeignKey(Comissao, blank=True, null=True) comissao = models.ForeignKey(Comissao, blank=True, null=True) # cod_comissao
data_desig_relator = models.DateField() data_desig_relator = models.DateField() # dat_desig_relator
data_destit_relator = models.DateField(blank=True, null=True) data_destit_relator = models.DateField(blank=True, null=True) # dat_destit_relator
class Parecer(models.Model): class Parecer(models.Model):
relatoria = models.ForeignKey(Relatoria) relatoria = models.ForeignKey(Relatoria) # cod_relatoria
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
tipo_conclusao = models.CharField(max_length=3, blank=True, null=True) tipo_conclusao = models.CharField(max_length=3, blank=True, null=True) # tip_conclusao
tipo_apresentacao = models.CharField(max_length=1) tipo_apresentacao = models.CharField(max_length=1) # tip_apresentacao
txt_parecer = models.TextField(blank=True, null=True) txt_parecer = models.TextField(blank=True, null=True) # txt_parecer
class TipoProposicao(models.Model): class TipoProposicao(models.Model):
descricao_tipo_proposicao = models.CharField(max_length=50) descricao_tipo_proposicao = models.CharField(max_length=50) # des_tipo_proposicao
mat_ou_doc = models.BooleanField() mat_ou_doc = models.BooleanField() # ind_mat_ou_doc
tipo_mat_ou_doc = models.IntegerField() tipo_mat_ou_doc = models.IntegerField() # tip_mat_ou_doc
nome_modelo = models.CharField(max_length=50) nome_modelo = models.CharField(max_length=50) # nom_modelo
class Proposicao(models.Model): class Proposicao(models.Model):
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) # cod_materia
autor = models.ForeignKey(Autor) autor = models.ForeignKey(Autor) # cod_autor
tipo = models.ForeignKey(TipoProposicao) tipo = models.ForeignKey(TipoProposicao) # tip_proposicao
data_envio = models.DateTimeField() data_envio = models.DateTimeField() # dat_envio
data_recebimento = models.DateTimeField(blank=True, null=True) data_recebimento = models.DateTimeField(blank=True, null=True) # dat_recebimento
txt_descricao = models.CharField(max_length=100) txt_descricao = models.CharField(max_length=100) # txt_descricao
cod_mat_ou_doc = models.IntegerField(blank=True, null=True) cod_mat_ou_doc = models.IntegerField(blank=True, null=True) # cod_mat_ou_doc
data_devolucao = models.DateTimeField(blank=True, null=True) data_devolucao = models.DateTimeField(blank=True, null=True) # dat_devolucao
txt_justif_devolucao = models.CharField(max_length=200, blank=True, null=True) txt_justif_devolucao = models.CharField(max_length=200, blank=True, null=True) # txt_justif_devolucao
numero_proposicao = models.IntegerField(blank=True, null=True) numero_proposicao = models.IntegerField(blank=True, null=True) # num_proposicao
class StatusTramitacao(models.Model): class StatusTramitacao(models.Model):
sigla_status = models.CharField(max_length=10) sigla_status = models.CharField(max_length=10) # sgl_status
descricao_status = models.CharField(max_length=60) descricao_status = models.CharField(max_length=60) # des_status
fim_tramitacao = models.BooleanField() fim_tramitacao = models.BooleanField() # ind_fim_tramitacao
retorno_tramitacao = models.BooleanField() retorno_tramitacao = models.BooleanField() # ind_retorno_tramitacao
class UnidadeTramitacao(models.Model): class UnidadeTramitacao(models.Model):
comissao = models.ForeignKey(Comissao, blank=True, null=True) comissao = models.ForeignKey(Comissao, blank=True, null=True) # cod_comissao
orgao = models.ForeignKey(Orgao, blank=True, null=True) orgao = models.ForeignKey(Orgao, blank=True, null=True) # cod_orgao
parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True) parlamentar = models.ForeignKey(Parlamentar, blank=True, null=True) # cod_parlamentar
class Tramitacao(models.Model): class Tramitacao(models.Model):
status = models.ForeignKey(StatusTramitacao, blank=True, null=True) status = models.ForeignKey(StatusTramitacao, blank=True, null=True) # cod_status
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
data_tramitacao = models.DateField(blank=True, null=True) data_tramitacao = models.DateField(blank=True, null=True) # dat_tramitacao
unid_tram_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+') unid_tram_local = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+') # cod_unid_tram_local
data_encaminha = models.DateField(blank=True, null=True) data_encaminha = models.DateField(blank=True, null=True) # dat_encaminha
unid_tram_dest = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+') unid_tram_dest = models.ForeignKey(UnidadeTramitacao, blank=True, null=True, related_name='+') # cod_unid_tram_dest
ult_tramitacao = models.BooleanField() ult_tramitacao = models.BooleanField() # ind_ult_tramitacao
urgencia = models.BooleanField() urgencia = models.BooleanField() # ind_urgencia
sigla_turno = models.CharField(max_length=1, blank=True, null=True) sigla_turno = models.CharField(max_length=1, blank=True, null=True) # sgl_turno
txt_tramitacao = models.TextField(blank=True, null=True) txt_tramitacao = models.TextField(blank=True, null=True) # txt_tramitacao
data_fim_prazo = models.DateField(blank=True, null=True) data_fim_prazo = models.DateField(blank=True, null=True) # dat_fim_prazo

79
norma/models.py

@ -4,56 +4,55 @@ from materia.models import MateriaLegislativa
class AssuntoNorma(models.Model): class AssuntoNorma(models.Model):
descricao_assunto = models.CharField(max_length=50) descricao_assunto = models.CharField(max_length=50) # des_assunto
descricao_estendida = models.CharField(max_length=250, blank=True, null=True) descricao_estendida = models.CharField(max_length=250, blank=True, null=True) # des_estendida
class TipoNormaJuridica(models.Model): class TipoNormaJuridica(models.Model):
voc_lexml = models.CharField(max_length=50, blank=True, null=True) voc_lexml = models.CharField(max_length=50, blank=True, null=True) # voc_lexml
sigla_tipo_norma = models.CharField(max_length=3) sigla_tipo_norma = models.CharField(max_length=3) # sgl_tipo_norma
descricao_tipo_norma = models.CharField(max_length=50) descricao_tipo_norma = models.CharField(max_length=50) # des_tipo_norma
class NormaJuridica(models.Model): class NormaJuridica(models.Model):
tipo = models.ForeignKey(TipoNormaJuridica) tipo = models.ForeignKey(TipoNormaJuridica) # tip_norma
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True) # cod_materia
numero_norma = models.IntegerField() numero_norma = models.IntegerField() # num_norma
ano_norma = models.SmallIntegerField() ano_norma = models.SmallIntegerField() # ano_norma
tipo_esfera_federacao = models.CharField(max_length=1) tipo_esfera_federacao = models.CharField(max_length=1) # tip_esfera_federacao
data_norma = models.DateField(blank=True, null=True) data_norma = models.DateField(blank=True, null=True) # dat_norma
data_publicacao = models.DateField(blank=True, null=True) data_publicacao = models.DateField(blank=True, null=True) # dat_publicacao
descricao_veiculo_publicacao = models.CharField(max_length=30, blank=True, null=True) descricao_veiculo_publicacao = models.CharField(max_length=30, blank=True, null=True) # des_veiculo_publicacao
numero_pag_inicio_publ = models.IntegerField(blank=True, null=True) numero_pag_inicio_publ = models.IntegerField(blank=True, null=True) # num_pag_inicio_publ
numero_pag_fim_publ = models.IntegerField(blank=True, null=True) numero_pag_fim_publ = models.IntegerField(blank=True, null=True) # num_pag_fim_publ
txt_ementa = models.TextField() txt_ementa = models.TextField() # txt_ementa
txt_indexacao = models.TextField(blank=True, null=True) txt_indexacao = models.TextField(blank=True, null=True) # txt_indexacao
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
complemento = models.NullBooleanField(blank=True) complemento = models.NullBooleanField(blank=True) # ind_complemento
assunto = models.ForeignKey(AssuntoNorma) # XXX was a CharField (attention on migrate) assunto = models.ForeignKey(AssuntoNorma) # XXX was a CharField (attention on migrate) # cod_assunto
data_vigencia = models.DateField(blank=True, null=True) data_vigencia = models.DateField(blank=True, null=True) # dat_vigencia
timestamp = models.DateTimeField() timestamp = models.DateTimeField() # timestamp
# XXX maybe should be in materia app, but would cause a circular import # XXX maybe should be in materia app, but would cause a circular import
class LegislacaoCitada(models.Model): class LegislacaoCitada(models.Model):
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
norma = models.ForeignKey(NormaJuridica) norma = models.ForeignKey(NormaJuridica) # cod_norma
descricao_disposicoes = models.CharField(max_length=15, blank=True, null=True) descricao_disposicoes = models.CharField(max_length=15, blank=True, null=True) # des_disposicoes
descricao_parte = models.CharField(max_length=8, blank=True, null=True) descricao_parte = models.CharField(max_length=8, blank=True, null=True) # des_parte
descricao_livro = models.CharField(max_length=7, blank=True, null=True) descricao_livro = models.CharField(max_length=7, blank=True, null=True) # des_livro
descricao_titulo = models.CharField(max_length=7, blank=True, null=True) descricao_titulo = models.CharField(max_length=7, blank=True, null=True) # des_titulo
descricao_capitulo = models.CharField(max_length=7, blank=True, null=True) descricao_capitulo = models.CharField(max_length=7, blank=True, null=True) # des_capitulo
descricao_secao = models.CharField(max_length=7, blank=True, null=True) descricao_secao = models.CharField(max_length=7, blank=True, null=True) # des_secao
descricao_subsecao = models.CharField(max_length=7, blank=True, null=True) descricao_subsecao = models.CharField(max_length=7, blank=True, null=True) # des_subsecao
descricao_artigo = models.CharField(max_length=4, blank=True, null=True) descricao_artigo = models.CharField(max_length=4, blank=True, null=True) # des_artigo
descricao_paragrafo = models.CharField(max_length=3, blank=True, null=True) descricao_paragrafo = models.CharField(max_length=3, blank=True, null=True) # des_paragrafo
descricao_inciso = models.CharField(max_length=10, blank=True, null=True) descricao_inciso = models.CharField(max_length=10, blank=True, null=True) # des_inciso
descricao_alinea = models.CharField(max_length=3, blank=True, null=True) descricao_alinea = models.CharField(max_length=3, blank=True, null=True) # des_alinea
descricao_item = models.CharField(max_length=3, blank=True, null=True) descricao_item = models.CharField(max_length=3, blank=True, null=True) # des_item
class VinculoNormaJuridica(models.Model): class VinculoNormaJuridica(models.Model):
norma_referente = models.ForeignKey(NormaJuridica, related_name='+') norma_referente = models.ForeignKey(NormaJuridica, related_name='+') # cod_norma_referente
norma_referida = models.ForeignKey(NormaJuridica, related_name='+') norma_referida = models.ForeignKey(NormaJuridica, related_name='+') # cod_norma_referida
tipo_vinculo = models.CharField(max_length=1, blank=True, null=True) tipo_vinculo = models.CharField(max_length=1, blank=True, null=True) # tip_vinculo
excluido = models.BooleanField()

164
parlamentares/models.py

@ -2,130 +2,130 @@ from django.db import models
class Legislatura(models.Model): class Legislatura(models.Model):
data_inicio = models.DateField() data_inicio = models.DateField() # dat_inicio
data_fim = models.DateField() data_fim = models.DateField() # dat_fim
data_eleicao = models.DateField() data_eleicao = models.DateField() # dat_eleicao
class SessaoLegislativa(models.Model): class SessaoLegislativa(models.Model):
legislatura = models.ForeignKey(Legislatura) legislatura = models.ForeignKey(Legislatura) # num_legislatura
numero = models.IntegerField() numero = models.IntegerField() # num_sessao_leg
tipo = models.CharField(max_length=1) tipo = models.CharField(max_length=1) # tip_sessao_leg
data_inicio = models.DateField() data_inicio = models.DateField() # dat_inicio
data_fim = models.DateField() data_fim = models.DateField() # dat_fim
data_inicio_intervalo = models.DateField(blank=True, null=True) data_inicio_intervalo = models.DateField(blank=True, null=True) # dat_inicio_intervalo
data_fim_intervalo = models.DateField(blank=True, null=True) data_fim_intervalo = models.DateField(blank=True, null=True) # dat_fim_intervalo
class Coligacao(models.Model): class Coligacao(models.Model):
legislatura = models.ForeignKey(Legislatura) legislatura = models.ForeignKey(Legislatura) # num_legislatura
nome_coligacao = models.CharField(max_length=50) nome_coligacao = models.CharField(max_length=50) # nom_coligacao
numero_votos_coligacao = models.IntegerField(blank=True, null=True) numero_votos_coligacao = models.IntegerField(blank=True, null=True) # num_votos_coligacao
class Partido(models.Model): class Partido(models.Model):
sigla_partido = models.CharField(max_length=9) sigla_partido = models.CharField(max_length=9) # sgl_partido
nome_partido = models.CharField(max_length=50) nome_partido = models.CharField(max_length=50) # nom_partido
data_criacao = models.DateField(blank=True, null=True) data_criacao = models.DateField(blank=True, null=True) # dat_criacao
data_extincao = models.DateField(blank=True, null=True) data_extincao = models.DateField(blank=True, null=True) # dat_extincao
class ComposicaoColigacao(models.Model): class ComposicaoColigacao(models.Model):
partido = models.ForeignKey(Partido) partido = models.ForeignKey(Partido) # cod_partido
coligacao = models.ForeignKey(Coligacao) coligacao = models.ForeignKey(Coligacao) # cod_coligacao
class Localidade(models.Model): class Localidade(models.Model):
nome_localidade = models.CharField(max_length=50, blank=True, null=True) nome_localidade = models.CharField(max_length=50, blank=True, null=True) # nom_localidade
nome_localidade_pesq = models.CharField(max_length=50, blank=True, null=True) nome_localidade_pesq = models.CharField(max_length=50, blank=True, null=True) # nom_localidade_pesq
tipo_localidade = models.CharField(max_length=1, blank=True, null=True) tipo_localidade = models.CharField(max_length=1, blank=True, null=True) # tip_localidade
sigla_uf = models.CharField(max_length=2, blank=True, null=True) sigla_uf = models.CharField(max_length=2, blank=True, null=True) # sgl_uf
sigla_regiao = models.CharField(max_length=2, blank=True, null=True) sigla_regiao = models.CharField(max_length=2, blank=True, null=True) # sgl_regiao
class NivelInstrucao(models.Model): class NivelInstrucao(models.Model):
nivel_instrucao = models.CharField(max_length=50) nivel_instrucao = models.CharField(max_length=50) # des_nivel_instrucao
class SituacaoMilitar(models.Model): class SituacaoMilitar(models.Model):
descricao_tipo_situacao = models.CharField(max_length=50) descricao_tipo_situacao = models.CharField(max_length=50) # des_tipo_situacao
class Parlamentar(models.Model): class Parlamentar(models.Model):
nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True) nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True) # cod_nivel_instrucao
situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True) situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True) # tip_situacao_militar
nome_completo = models.CharField(max_length=50) nome_completo = models.CharField(max_length=50) # nom_completo
nome_parlamentar = models.CharField(max_length=50, blank=True, null=True) nome_parlamentar = models.CharField(max_length=50, blank=True, null=True) # nom_parlamentar
sexo = models.CharField(max_length=1) sexo = models.CharField(max_length=1) # sex_parlamentar
data_nascimento = models.DateField(blank=True, null=True) data_nascimento = models.DateField(blank=True, null=True) # dat_nascimento
numero_cpf = models.CharField(max_length=14, blank=True, null=True) numero_cpf = models.CharField(max_length=14, blank=True, null=True) # num_cpf
numero_rg = models.CharField(max_length=15, blank=True, null=True) numero_rg = models.CharField(max_length=15, blank=True, null=True) # num_rg
numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) # num_tit_eleitor
cod_casa = models.IntegerField() cod_casa = models.IntegerField() # cod_casa
numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True) numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True) # num_gab_parlamentar
numero_tel_parlamentar = models.CharField(max_length=50, blank=True, null=True) numero_tel_parlamentar = models.CharField(max_length=50, blank=True, null=True) # num_tel_parlamentar
numero_fax_parlamentar = models.CharField(max_length=50, blank=True, null=True) numero_fax_parlamentar = models.CharField(max_length=50, blank=True, null=True) # num_fax_parlamentar
endereco_residencial = models.CharField(max_length=100, blank=True, null=True) endereco_residencial = models.CharField(max_length=100, blank=True, null=True) # end_residencial
localidade_resid = models.ForeignKey(Localidade, blank=True, null=True) localidade_resid = models.ForeignKey(Localidade, blank=True, null=True) # cod_localidade_resid
numero_cep_resid = models.CharField(max_length=9, blank=True, null=True) numero_cep_resid = models.CharField(max_length=9, blank=True, null=True) # num_cep_resid
numero_tel_resid = models.CharField(max_length=50, blank=True, null=True) numero_tel_resid = models.CharField(max_length=50, blank=True, null=True) # num_tel_resid
numero_fax_resid = models.CharField(max_length=50, blank=True, null=True) numero_fax_resid = models.CharField(max_length=50, blank=True, null=True) # num_fax_resid
endereco_web = models.CharField(max_length=100, blank=True, null=True) endereco_web = models.CharField(max_length=100, blank=True, null=True) # end_web
nome_profissao = models.CharField(max_length=50, blank=True, null=True) nome_profissao = models.CharField(max_length=50, blank=True, null=True) # nom_profissao
endereco_email = models.CharField(max_length=100, blank=True, null=True) endereco_email = models.CharField(max_length=100, blank=True, null=True) # end_email
descricao_local_atuacao = models.CharField(max_length=100, blank=True, null=True) descricao_local_atuacao = models.CharField(max_length=100, blank=True, null=True) # des_local_atuacao
ativo = models.BooleanField() ativo = models.BooleanField() # ind_ativo
txt_biografia = models.TextField(blank=True, null=True) txt_biografia = models.TextField(blank=True, null=True) # txt_biografia
unid_deliberativa = models.BooleanField() unid_deliberativa = models.BooleanField() # ind_unid_deliberativa
class TipoDependente(models.Model): class TipoDependente(models.Model):
descricao_tipo_dependente = models.CharField(max_length=50) descricao_tipo_dependente = models.CharField(max_length=50) # des_tipo_dependente
class Dependente(models.Model): class Dependente(models.Model):
tipo_dependente = models.ForeignKey(TipoDependente) tipo_dependente = models.ForeignKey(TipoDependente) # tip_dependente
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
nome_dependente = models.CharField(max_length=50) nome_dependente = models.CharField(max_length=50) # nom_dependente
sexo = models.CharField(max_length=1) sexo = models.CharField(max_length=1) # sex_dependente
data_nascimento = models.DateField(blank=True, null=True) data_nascimento = models.DateField(blank=True, null=True) # dat_nascimento
numero_cpf = models.CharField(max_length=14, blank=True, null=True) numero_cpf = models.CharField(max_length=14, blank=True, null=True) # num_cpf
numero_rg = models.CharField(max_length=15, blank=True, null=True) numero_rg = models.CharField(max_length=15, blank=True, null=True) # num_rg
numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) # num_tit_eleitor
class Filiacao(models.Model): class Filiacao(models.Model):
data_filiacao = models.DateField() data_filiacao = models.DateField() # dat_filiacao
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
partido = models.ForeignKey(Partido) partido = models.ForeignKey(Partido) # cod_partido
data_desfiliacao = models.DateField(blank=True, null=True) data_desfiliacao = models.DateField(blank=True, null=True) # dat_desfiliacao
class TipoAfastamento(models.Model): class TipoAfastamento(models.Model):
descricao_afastamento = models.CharField(max_length=50) descricao_afastamento = models.CharField(max_length=50) # des_afastamento
afastamento = models.BooleanField() afastamento = models.BooleanField() # ind_afastamento
fim_mandato = models.BooleanField() fim_mandato = models.BooleanField() # ind_fim_mandato
descricao_dispositivo = models.CharField(max_length=50, blank=True, null=True) descricao_dispositivo = models.CharField(max_length=50, blank=True, null=True) # des_dispositivo
class Mandato(models.Model): class Mandato(models.Model):
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True) tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True) # tip_afastamento
legislatura = models.ForeignKey(Legislatura) legislatura = models.ForeignKey(Legislatura) # num_legislatura
coligacao = models.ForeignKey(Coligacao, blank=True, null=True) coligacao = models.ForeignKey(Coligacao, blank=True, null=True) # cod_coligacao
tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True) tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True) # tip_causa_fim_mandato
data_fim_mandato = models.DateField(blank=True, null=True) data_fim_mandato = models.DateField(blank=True, null=True) # dat_fim_mandato
numero_votos_recebidos = models.IntegerField(blank=True, null=True) numero_votos_recebidos = models.IntegerField(blank=True, null=True) # num_votos_recebidos
data_expedicao_diploma = models.DateField(blank=True, null=True) data_expedicao_diploma = models.DateField(blank=True, null=True) # dat_expedicao_diploma
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
class CargoMesa(models.Model): class CargoMesa(models.Model):
nome = models.CharField(max_length=50) nome = models.CharField(max_length=50) # des_cargo
unico = models.BooleanField() unico = models.BooleanField() # ind_unico
class ComposicaoMesa(models.Model): class ComposicaoMesa(models.Model):
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
sessao_legislativa = models.ForeignKey(SessaoLegislativa) sessao_legislativa = models.ForeignKey(SessaoLegislativa) # cod_sessao_leg
cargo = models.ForeignKey(CargoMesa) cargo = models.ForeignKey(CargoMesa) # cod_cargo

108
protocoloadm/models.py

@ -4,72 +4,72 @@ from materia.models import Autor, TipoMateriaLegislativa
class TipoDocumentoAdministrativo(models.Model): class TipoDocumentoAdministrativo(models.Model):
sigla_tipo_documento = models.CharField(max_length=5) sigla_tipo_documento = models.CharField(max_length=5) # sgl_tipo_documento
descricao_tipo_documento = models.CharField(max_length=50) descricao_tipo_documento = models.CharField(max_length=50) # des_tipo_documento
class DocumentoAdministrativo(models.Model): class DocumentoAdministrativo(models.Model):
tipo = models.ForeignKey(TipoDocumentoAdministrativo) tipo = models.ForeignKey(TipoDocumentoAdministrativo) # tip_documento
numero_documento = models.IntegerField() numero_documento = models.IntegerField() # num_documento
ano_documento = models.SmallIntegerField() ano_documento = models.SmallIntegerField() # ano_documento
data_documento = models.DateField() data_documento = models.DateField() # dat_documento
numero_protocolo = models.IntegerField(blank=True, null=True) numero_protocolo = models.IntegerField(blank=True, null=True) # num_protocolo
txt_interessado = models.CharField(max_length=50, blank=True, null=True) txt_interessado = models.CharField(max_length=50, blank=True, null=True) # txt_interessado
autor = models.ForeignKey(Autor, blank=True, null=True) autor = models.ForeignKey(Autor, blank=True, null=True) # cod_autor
numero_dias_prazo = models.IntegerField(blank=True, null=True) numero_dias_prazo = models.IntegerField(blank=True, null=True) # num_dias_prazo
data_fim_prazo = models.DateField(blank=True, null=True) data_fim_prazo = models.DateField(blank=True, null=True) # dat_fim_prazo
tramitacao = models.BooleanField() tramitacao = models.BooleanField() # ind_tramitacao
txt_assunto = models.TextField() txt_assunto = models.TextField() # txt_assunto
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
class DocumentoAcessorioAdministrativo(models.Model): class DocumentoAcessorioAdministrativo(models.Model):
documento = models.ForeignKey(DocumentoAdministrativo) documento = models.ForeignKey(DocumentoAdministrativo) # cod_documento
tipo = models.ForeignKey(TipoDocumentoAdministrativo) tipo = models.ForeignKey(TipoDocumentoAdministrativo) # tip_documento
nome_documento = models.CharField(max_length=30) nome_documento = models.CharField(max_length=30) # nom_documento
nome_arquivo = models.CharField(max_length=100) nome_arquivo = models.CharField(max_length=100) # nom_arquivo
data_documento = models.DateField(blank=True, null=True) data_documento = models.DateField(blank=True, null=True) # dat_documento
nome_autor_documento = models.CharField(max_length=50, blank=True, null=True) nome_autor_documento = models.CharField(max_length=50, blank=True, null=True) # nom_autor_documento
txt_assunto = models.TextField(blank=True, null=True) txt_assunto = models.TextField(blank=True, null=True) # txt_assunto
txt_indexacao = models.TextField(blank=True, null=True) txt_indexacao = models.TextField(blank=True, null=True) # txt_indexacao
class Protocolo(models.Model): class Protocolo(models.Model):
numero_protocolo = models.IntegerField(blank=True, null=True) numero_protocolo = models.IntegerField(blank=True, null=True) # num_protocolo
ano_protocolo = models.SmallIntegerField() ano_protocolo = models.SmallIntegerField() # ano_protocolo
data_protocolo = models.DateField() data_protocolo = models.DateField() # dat_protocolo
hora_protocolo = models.TimeField() hora_protocolo = models.TimeField() # hor_protocolo
data_timestamp = models.DateTimeField() data_timestamp = models.DateTimeField() # dat_timestamp
tipo_protocolo = models.IntegerField() tipo_protocolo = models.IntegerField() # tip_protocolo
tipo_processo = models.IntegerField() tipo_processo = models.IntegerField() # tip_processo
txt_interessado = models.CharField(max_length=60, blank=True, null=True) txt_interessado = models.CharField(max_length=60, blank=True, null=True) # txt_interessado
autor = models.ForeignKey(Autor, blank=True, null=True) autor = models.ForeignKey(Autor, blank=True, null=True) # cod_autor
txt_assunto_ementa = models.TextField(blank=True, null=True) txt_assunto_ementa = models.TextField(blank=True, null=True) # txt_assunto_ementa
tipo_documento = models.ForeignKey(TipoDocumentoAdministrativo, blank=True, null=True) tipo_documento = models.ForeignKey(TipoDocumentoAdministrativo, blank=True, null=True) # tip_documento
tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True) tipo_materia = models.ForeignKey(TipoMateriaLegislativa, blank=True, null=True) # tip_materia
numero_paginas = models.IntegerField(blank=True, null=True) numero_paginas = models.IntegerField(blank=True, null=True) # num_paginas
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
anulado = models.BooleanField() anulado = models.BooleanField() # ind_anulado
txt_user_anulacao = models.CharField(max_length=20, blank=True, null=True) txt_user_anulacao = models.CharField(max_length=20, blank=True, null=True) # txt_user_anulacao
txt_ip_anulacao = models.CharField(max_length=15, blank=True, null=True) txt_ip_anulacao = models.CharField(max_length=15, blank=True, null=True) # txt_ip_anulacao
txt_just_anulacao = models.CharField(max_length=60, blank=True, null=True) txt_just_anulacao = models.CharField(max_length=60, blank=True, null=True) # txt_just_anulacao
timestamp_anulacao = models.DateTimeField(blank=True, null=True) timestamp_anulacao = models.DateTimeField(blank=True, null=True) # timestamp_anulacao
class StatusTramitacaoAdministrativo(models.Model): class StatusTramitacaoAdministrativo(models.Model):
sigla_status = models.CharField(max_length=10) sigla_status = models.CharField(max_length=10) # sgl_status
descricao_status = models.CharField(max_length=60) descricao_status = models.CharField(max_length=60) # des_status
fim_tramitacao = models.BooleanField() fim_tramitacao = models.BooleanField() # ind_fim_tramitacao
retorno_tramitacao = models.BooleanField() retorno_tramitacao = models.BooleanField() # ind_retorno_tramitacao
class TramitacaoAdministrativo(models.Model): class TramitacaoAdministrativo(models.Model):
documento = models.ForeignKey(DocumentoAdministrativo) documento = models.ForeignKey(DocumentoAdministrativo) # cod_documento
data_tramitacao = models.DateField(blank=True, null=True) data_tramitacao = models.DateField(blank=True, null=True) # dat_tramitacao
cod_unid_tram_local = models.IntegerField(blank=True, null=True) cod_unid_tram_local = models.IntegerField(blank=True, null=True) # cod_unid_tram_local
data_encaminha = models.DateField(blank=True, null=True) data_encaminha = models.DateField(blank=True, null=True) # dat_encaminha
cod_unid_tram_dest = models.IntegerField(blank=True, null=True) cod_unid_tram_dest = models.IntegerField(blank=True, null=True) # cod_unid_tram_dest
status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True) status = models.ForeignKey(StatusTramitacaoAdministrativo, blank=True, null=True) # cod_status
ult_tramitacao = models.BooleanField() ult_tramitacao = models.BooleanField() # ind_ult_tramitacao
txt_tramitacao = models.TextField(blank=True, null=True) txt_tramitacao = models.TextField(blank=True, null=True) # txt_tramitacao
data_fim_prazo = models.DateField(blank=True, null=True) data_fim_prazo = models.DateField(blank=True, null=True) # dat_fim_prazo

127
sessao/models.py

@ -5,106 +5,107 @@ from parlamentares.models import CargoMesa, Parlamentar, SessaoLegislativa, Legi
class TipoSessaoPlenaria(models.Model): class TipoSessaoPlenaria(models.Model):
nome_sessao = models.CharField(max_length=30) nome_sessao = models.CharField(max_length=30) # nom_sessao
numero_minimo = models.IntegerField() numero_minimo = models.IntegerField() # num_minimo
class SessaoPlenaria(models.Model): class SessaoPlenaria(models.Model):
cod_andamento_sessao = models.IntegerField(blank=True, null=True) # TODO lixo??? parece que era FK # TODO lixo??? parece que era FK. Seria:
# andamento_sessao = models.ForeignKey(AndamentoSessao, blank=True, null=True) # andamento_sessao = models.ForeignKey(AndamentoSessao, blank=True, null=True)
tipo = models.ForeignKey(TipoSessaoPlenaria) cod_andamento_sessao = models.IntegerField(blank=True, null=True) # cod_andamento_sessao
sessao_leg = models.ForeignKey(SessaoLegislativa)
legislatura = models.ForeignKey(Legislatura) tipo = models.ForeignKey(TipoSessaoPlenaria) # tip_sessao
tipo_expediente = models.CharField(max_length=10) sessao_leg = models.ForeignKey(SessaoLegislativa) # cod_sessao_leg
data_inicio_sessao = models.DateField() legislatura = models.ForeignKey(Legislatura) # num_legislatura
dia_sessao = models.CharField(max_length=15) tipo_expediente = models.CharField(max_length=10) # tip_expediente
hr_inicio_sessao = models.CharField(max_length=5) data_inicio_sessao = models.DateField() # dat_inicio_sessao
hr_fim_sessao = models.CharField(max_length=5, blank=True, null=True) dia_sessao = models.CharField(max_length=15) # dia_sessao
numero_sessao_plen = models.IntegerField() hr_inicio_sessao = models.CharField(max_length=5) # hr_inicio_sessao
data_fim_sessao = models.DateField(blank=True, null=True) hr_fim_sessao = models.CharField(max_length=5, blank=True, null=True) # hr_fim_sessao
url_audio = models.CharField(max_length=150, blank=True, null=True) numero_sessao_plen = models.IntegerField() # num_sessao_plen
url_video = models.CharField(max_length=150, blank=True, null=True) data_fim_sessao = models.DateField(blank=True, null=True) # dat_fim_sessao
url_audio = models.CharField(max_length=150, blank=True, null=True) # url_audio
url_video = models.CharField(max_length=150, blank=True, null=True) # url_video
class ExpedienteMateria(models.Model): class ExpedienteMateria(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
data_ordem = models.DateField() data_ordem = models.DateField() # dat_ordem
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
txt_resultado = models.TextField(blank=True, null=True) txt_resultado = models.TextField(blank=True, null=True) # txt_resultado
tipo_votacao = models.IntegerField() tipo_votacao = models.IntegerField() # tip_votacao
class TipoExpediente(models.Model): class TipoExpediente(models.Model):
nome_expediente = models.CharField(max_length=100) nome_expediente = models.CharField(max_length=100) # nom_expediente
class ExpedienteSessaoPlenaria(models.Model): class ExpedienteSessaoPlenaria(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
expediente = models.ForeignKey(TipoExpediente) expediente = models.ForeignKey(TipoExpediente) # cod_expediente
txt_expediente = models.TextField(blank=True, null=True) txt_expediente = models.TextField(blank=True, null=True) # txt_expediente
class MesaSessaoPlenaria(models.Model): class MesaSessaoPlenaria(models.Model):
cargo = models.ForeignKey(CargoMesa) cargo = models.ForeignKey(CargoMesa) # cod_cargo
sessao_leg = models.ForeignKey(SessaoLegislativa) sessao_leg = models.ForeignKey(SessaoLegislativa) # cod_sessao_leg
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
excluido = models.NullBooleanField(blank=True)
class Oradores(models.Model): class Oradores(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
url_discurso = models.CharField(max_length=150, blank=True, null=True) url_discurso = models.CharField(max_length=150, blank=True, null=True) # url_discurso
class OradoresExpediente(models.Model): class OradoresExpediente(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
url_discurso = models.CharField(max_length=150, blank=True, null=True) url_discurso = models.CharField(max_length=150, blank=True, null=True) # url_discurso
class OrdemDia(models.Model): class OrdemDia(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
data_ordem = models.DateField() data_ordem = models.DateField() # dat_ordem
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
numero_ordem = models.IntegerField() numero_ordem = models.IntegerField() # num_ordem
txt_resultado = models.TextField(blank=True, null=True) txt_resultado = models.TextField(blank=True, null=True) # txt_resultado
tipo_votacao = models.IntegerField() tipo_votacao = models.IntegerField() # tip_votacao
class OrdemDiaPresenca(models.Model): class OrdemDiaPresenca(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
data_ordem = models.DateField() data_ordem = models.DateField() # dat_ordem
class TipoResultadoVotacao(models.Model): class TipoResultadoVotacao(models.Model):
nome_resultado = models.CharField(max_length=100) nome_resultado = models.CharField(max_length=100) # nom_resultado
class RegistroVotacao(models.Model): class RegistroVotacao(models.Model):
tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao) tipo_resultado_votacao = models.ForeignKey(TipoResultadoVotacao) # tip_resultado_votacao
materia = models.ForeignKey(MateriaLegislativa) materia = models.ForeignKey(MateriaLegislativa) # cod_materia
ordem = models.ForeignKey(OrdemDia) ordem = models.ForeignKey(OrdemDia) # cod_ordem
numero_votos_sim = models.IntegerField() numero_votos_sim = models.IntegerField() # num_votos_sim
numero_votos_nao = models.IntegerField() numero_votos_nao = models.IntegerField() # num_votos_nao
numero_abstencao = models.IntegerField() numero_abstencao = models.IntegerField() # num_abstencao
txt_observacao = models.TextField(blank=True, null=True) txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
class RegistroVotacaoParlamentar(models.Model): class RegistroVotacaoParlamentar(models.Model):
votacao = models.ForeignKey(RegistroVotacao) votacao = models.ForeignKey(RegistroVotacao) # cod_votacao
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
vot_parlamentar = models.CharField(max_length=10) vot_parlamentar = models.CharField(max_length=10) # vot_parlamentar
class SessaoPlenariaPresenca(models.Model): class SessaoPlenariaPresenca(models.Model):
sessao_plen = models.ForeignKey(SessaoPlenaria) sessao_plen = models.ForeignKey(SessaoPlenaria) # cod_sessao_plen
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
data_sessao = models.DateField(blank=True, null=True) data_sessao = models.DateField(blank=True, null=True) # dat_sessao

Loading…
Cancel
Save