# Generated by Django 5.2.17 on 2026-09-23 12:01

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('admin_panel', '0005_investor_image_user_image_accountantdetailfield_and_more'),
    ]

    operations = [
        migrations.CreateModel(
            name='DailyFinancialStatement',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('deleted_at', models.DateTimeField(blank=True, db_index=True, null=True)),
                ('statement_date', models.DateField()),
                ('revenue', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('direct_cost', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('operating_expenses', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('other_income', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('finance_cost', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('tax', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('operating_cash_inflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('operating_cash_outflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('investing_cash_inflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('investing_cash_outflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('financing_cash_inflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('financing_cash_outflow', models.DecimalField(decimal_places=2, default=0, max_digits=14)),
                ('remarks', models.TextField(blank=True)),
                ('status', models.CharField(choices=[('SUBMITTED', 'Submitted'), ('REVIEWED', 'Reviewed'), ('APPROVED', 'Approved'), ('REJECTED', 'Rejected')], default='SUBMITTED', max_length=20)),
                ('submitted_at', models.DateTimeField(auto_now_add=True)),
                ('reviewed_at', models.DateTimeField(blank=True, null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('business', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='daily_financial_statements', to='admin_panel.business')),
                ('reviewed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='daily_financial_statements_reviewed', to=settings.AUTH_USER_MODEL)),
                ('submitted_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='daily_financial_statements_submitted', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['-statement_date', '-created_at'],
                'constraints': [models.UniqueConstraint(condition=models.Q(('deleted_at__isnull', True)), fields=('business', 'statement_date'), name='unique_live_daily_financial_statement_per_business_date')],
            },
        ),
    ]
