# 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')}, }, ), ]