157 lines
9.0 KiB
Python
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')},
|
||
|
|
},
|
||
|
|
),
|
||
|
|
]
|