# Generated by Django 3.2.8 on 2021-10-12 04:58

import datetime
from decimal import Decimal
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='DoacaoAgendada',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('dataAgendamento', models.DateField(auto_now_add=True, db_column='data_agendamento', verbose_name='Data Agendamento')),
                ('quantidade', models.PositiveSmallIntegerField(db_column='qtde_agendada', default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Quantidade')),
                ('status', models.CharField(choices=[('PEN', 'Pendente'), ('REC', 'Recebido'), ('CAN', 'Cancelado')], default='PEN', max_length=5, verbose_name='Status')),
                ('doador', models.ForeignKey(db_column='doador_user_id', on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Doador')),
            ],
        ),
        migrations.CreateModel(
            name='GrupoProduto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('descricao', models.CharField(help_text='Informe a descrição do grupo', max_length=50, verbose_name='Descrição')),
                ('unidadeEmbalagem', models.CharField(choices=[('KG', 'Quilograma (kg)'), ('GR', 'Grama (g)'), ('MG', 'Miligrama (mg)'), ('LTR', 'Litro (l)'), ('ML', 'Mililitro (ml)'), ('PCT', 'Pacote (pct)'), ('UN', 'Unidade (und)')], db_column='unidade_embalagem', help_text='Informe a unidade de embalagem do grupo', max_length=5, verbose_name='Unidade Embalagem')),
                ('qtdeNaEmbalagem', models.DecimalField(db_column='qtde_na_embalagem', decimal_places=3, default=1, help_text='Informe a quantidade na embalagem', max_digits=8, validators=[django.core.validators.MinValueValidator(Decimal('0.001000000000000000020816681711721685132943093776702880859375'))], verbose_name='Qtde na Embalagem')),
                ('unidadesNaCesta', models.PositiveSmallIntegerField(db_column='unidades_na_cesta', default=1, help_text='Informe a quantidade que vai na cesta', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Unidades na Cesta')),
                ('compoeCesta', models.BooleanField(db_column='compoe_cesta', default=True, verbose_name='Item Compõe a Cesta?')),
                ('diasValidadeMinima', models.PositiveSmallIntegerField(db_column='dias_validade_minima', default=10, help_text='Informe em dias a validade mínima para cesta', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Validade Mínima')),
            ],
        ),
        migrations.CreateModel(
            name='UnidadeOrganizacao',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=50)),
                ('ativo', models.BooleanField(default=True)),
                ('metaQtdeCestas', models.PositiveSmallIntegerField(db_column='meta_qtde_cestas', default=1, verbose_name='Meta Quantidade Cestas')),
                ('diasEsperaAgendadas', models.PositiveSmallIntegerField(db_column='dias_espera_agendadas', default=1, verbose_name='Agendadas: Dias Espera')),
            ],
        ),
        migrations.CreateModel(
            name='Produto',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('descricao', models.CharField(help_text='Informe a descrição do produto', max_length=50, verbose_name='Descrição')),
                ('qtdeNaEmbalagem', models.DecimalField(db_column='qtde_na_embalagem', decimal_places=3, default=1, help_text='Informe a quantidade na embalagem', max_digits=8, validators=[django.core.validators.MinValueValidator(Decimal('0.001000000000000000020816681711721685132943093776702880859375'))], verbose_name='Qtde na Embalagem')),
                ('aceitaDoacao', models.BooleanField(db_column='aceita_doacao', default=True, verbose_name='Aceita Doação?')),
                ('grupoProduto', models.ForeignKey(db_column='grupo_produto_id', help_text='Selecione o grupo do produto', on_delete=django.db.models.deletion.PROTECT, to='pages.grupoproduto', verbose_name='Grupo')),
                ('unidadeOrganizacao', models.ForeignKey(db_column='unidade_org_id', default=1, on_delete=django.db.models.deletion.PROTECT, to='pages.unidadeorganizacao', verbose_name='Unidade Organização')),
            ],
        ),
        migrations.AddField(
            model_name='grupoproduto',
            name='unidadeOrganizacao',
            field=models.ForeignKey(db_column='unidade_org_id', default=1, on_delete=django.db.models.deletion.PROTECT, to='pages.unidadeorganizacao', verbose_name='Unidade Organização'),
        ),
        migrations.CreateModel(
            name='DoacaoRecebida',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('dataRecebimento', models.DateField(db_column='data_recebimento', default=datetime.date.today, help_text='Informe uma data menor ou igual a data atual', validators=[django.core.validators.MaxValueValidator(limit_value=datetime.date.today)], verbose_name='Data Recebimento')),
                ('dataBaixa', models.DateField(blank=True, db_column='data_baixa', help_text='Informe uma data menor ou igual a data atual', null=True, validators=[django.core.validators.MaxValueValidator(limit_value=datetime.date.today)], verbose_name='Data da Baixa')),
                ('quantidade', models.PositiveSmallIntegerField(db_column='qtde_recebida', default=1, help_text='Informe o número de unidades doadas', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Quantidade')),
                ('dataValidade', models.DateField(db_column='data_validade', help_text='Informe a data de validade do produto', validators=[django.core.validators.MinValueValidator(limit_value=datetime.date.today)], verbose_name='Data Validade')),
                ('status', models.CharField(choices=[('EST', 'Estoque'), ('ENT', 'Entregue'), ('PER', 'Perda')], default='EST', max_length=5, verbose_name='Status')),
                ('doacaoViaWeb', models.BooleanField(db_column='doacao_via_web', default=True, verbose_name='Doação via Web?')),
                ('saldoDeEntrega', models.BooleanField(db_column='saldo_de_entrega', default=False, verbose_name='Saldo de Entrega?')),
                ('doacaoAgendada', models.ForeignKey(blank=True, db_column='doacao_agendada_id', null=True, on_delete=django.db.models.deletion.PROTECT, to='pages.doacaoagendada', verbose_name='Doação Agendada')),
                ('doador', models.ForeignKey(blank=True, db_column='doador_user_id', help_text='Selecione o doador. Em branco se não identificado', null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Doador')),
                ('produto', models.ForeignKey(db_column='produto_id', help_text='Selecione o produto que foi doado', on_delete=django.db.models.deletion.PROTECT, to='pages.produto', verbose_name='Produto')),
                ('unidadeOrganizacao', models.ForeignKey(db_column='unidade_org_id', default=1, on_delete=django.db.models.deletion.PROTECT, to='pages.unidadeorganizacao', verbose_name='Unidade Organização')),
            ],
        ),
        migrations.AddField(
            model_name='doacaoagendada',
            name='produto',
            field=models.ForeignKey(db_column='produto_id', help_text='Selecione o produto que foi doado', on_delete=django.db.models.deletion.PROTECT, to='pages.produto', verbose_name='Produto'),
        ),
        migrations.AddField(
            model_name='doacaoagendada',
            name='unidadeOrganizacao',
            field=models.ForeignKey(db_column='unidade_org_id', default=1, on_delete=django.db.models.deletion.PROTECT, to='pages.unidadeorganizacao', verbose_name='Unidade Organização'),
        ),
    ]
