sgmp/solicitacoes/migrations/0001_initial.py

157 lines
9.0 KiB
Python

# Generated by Django 4.2.27 on 2026-02-01 22:32
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='PessoaRM',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('id_rm', models.CharField(max_length=20, unique=True)),
('matricula', models.CharField(max_length=20, unique=True)),
('nome', models.CharField(max_length=255)),
('cargo', models.CharField(max_length=255)),
('setor', models.CharField(max_length=255)),
('centro_custo', models.CharField(max_length=50)),
('matricula_winthor', models.CharField(blank=True, db_index=True, help_text='Matrícula/código do usuário no Winthor', max_length=20, null=True)),
('sincronizado_em', models.DateTimeField(blank=True, null=True)),
],
options={
'verbose_name': 'Pessoa (RM)',
'verbose_name_plural': 'Pessoas (RM)',
},
),
migrations.CreateModel(
name='UsuarioSistema',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('matricula', models.CharField(max_length=20, unique=True)),
('nome', models.CharField(max_length=255)),
('ativo', models.BooleanField(default=True)),
('perfil', models.CharField(choices=[('GESTOR', 'Gestor'), ('GG', 'Gente e Gestão'), ('CONTROLADORIA', 'Controladoria'), ('DIRETORIA', 'Diretoria')], max_length=20)),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Solicitacao',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('tipo', models.CharField(choices=[('DESLIGAMENTO', 'Desligamento'), ('ADM_SUBSTITUICAO', 'Admissão por Substituição'), ('ADM_AUMENTO', 'Admissão por Aumento de Quadro'), ('MOVIMENTACAO', 'Movimentação')], max_length=30)),
('status', models.CharField(choices=[('RASCUNHO', 'Rascunho'), ('ENVIADA', 'Enviada'), ('APROVADA_GG', 'Aprovada GG'), ('APROVADA_CONTROLADORIA', 'Aprovada Controladoria'), ('APROVADA_DIRETORIA', 'Aprovada Diretoria'), ('FINALIZADA', 'Finalizada'), ('REPROVADA', 'Reprovada')], default='RASCUNHO', max_length=30)),
('enviada_em', models.DateTimeField(blank=True, null=True)),
('finalizada_em', models.DateTimeField(blank=True, null=True)),
('funcionario', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='solicitacoes', to='solicitacoes.pessoarm')),
('solicitante', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='solicitacoes_criadas', to='solicitacoes.usuariosistema')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Movimentacao',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('altera_funcao', models.BooleanField(default=False)),
('altera_centro_custo', models.BooleanField(default=False)),
('novo_cod_secao', models.CharField(blank=True, max_length=50, null=True)),
('novo_cod_funcao', models.CharField(blank=True, max_length=50, null=True)),
('novo_salario', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True)),
('data_efetivacao', models.DateField(help_text='Data que a mudança passa a valer no RM')),
('justificativa', models.TextField()),
('solicitacao', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='movimentacao', to='solicitacoes.solicitacao')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Desligamento',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('motivo', models.TextField()),
('data_prevista_desligamento', models.DateField()),
('observacoes', models.TextField(blank=True)),
('solicitacao', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='desligamento', to='solicitacoes.solicitacao')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='AdmissaoSubstituicao',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('data_previsao_contratacao', models.DateField()),
('cod_coligada_destino', models.IntegerField(help_text='Cód. Coligada RM')),
('cod_filial_destino', models.IntegerField(help_text='Cód. Filial RM')),
('cod_secao_destino', models.CharField(help_text='Cód. Seção/Centro de Custo', max_length=50)),
('cod_funcao_destino', models.CharField(help_text='Cód. Função/Cargo', max_length=50)),
('justificativa', models.TextField()),
('solicitacao', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='admissao_substituicao', to='solicitacoes.solicitacao')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='AdmissaoAumentoQuadro',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('data_previsao_contratacao', models.DateField()),
('justificativa_estrategica', models.TextField()),
('cod_coligada_destino', models.IntegerField()),
('cod_filial_destino', models.IntegerField()),
('cod_secao_destino', models.CharField(max_length=50)),
('cod_funcao_destino', models.CharField(max_length=50)),
('requer_suplementacao_orcamentaria', models.BooleanField(default=False)),
('solicitacao', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='admissao_aumento', to='solicitacoes.solicitacao')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Aprovacao',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('criado_em', models.DateTimeField(auto_now_add=True)),
('atualizado_em', models.DateTimeField(auto_now=True)),
('etapa', models.CharField(choices=[('GG', 'Gente e Gestão'), ('CONTROLADORIA', 'Controladoria'), ('DIRETORIA', 'Diretoria')], max_length=20)),
('decisao', models.CharField(choices=[('APROVADO', 'Aprovado'), ('REPROVADO', 'Reprovado')], max_length=10)),
('justificativa', models.TextField()),
('decidido_em', models.DateTimeField(auto_now_add=True)),
('solicitacao', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='aprovacoes', to='solicitacoes.solicitacao')),
('usuario', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='aprovacoes_realizadas', to='solicitacoes.usuariosistema')),
],
options={
'unique_together': {('solicitacao', 'etapa')},
},
),
]