# Generated by Django 5.2.11 on 2026-02-20 17:58

import django.db.models.deletion
import uuid
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("tenant", "0002_domain_ssl_enabled_tenant_activated_at_and_more"),
    ]

    operations = [
        migrations.CreateModel(
            name="EvaluationCriteriaModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "criteria_code",
                    models.CharField(db_index=True, max_length=50, verbose_name="کد"),
                ),
                (
                    "criteria_name",
                    models.CharField(max_length=255, verbose_name="نام معیار"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "weight",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=5,
                        verbose_name="وزن (درصد)",
                    ),
                ),
                (
                    "max_score",
                    models.DecimalField(
                        decimal_places=2,
                        default=100,
                        max_digits=5,
                        verbose_name="حداکثر امتیاز",
                    ),
                ),
                (
                    "is_active",
                    models.BooleanField(
                        db_index=True, default=True, verbose_name="فعال"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "معیار ارزیابی",
                "verbose_name_plural": "معیارهای ارزیابی",
                "db_table": "scm_evaluation_criteria",
                "unique_together": {("tenant", "criteria_code")},
            },
        ),
        migrations.CreateModel(
            name="EvaluationPeriodModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "period_name",
                    models.CharField(max_length=255, verbose_name="نام دوره"),
                ),
                (
                    "start_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ شروع"),
                ),
                (
                    "end_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ پایان"),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="فعال")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "دوره ارزیابی",
                "verbose_name_plural": "دوره\u200cهای ارزیابی",
                "db_table": "scm_evaluation_period",
            },
        ),
        migrations.CreateModel(
            name="GoodsReceiptModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "gr_number",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="شماره رسید"
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("CONFIRMED", "تأیید شده"),
                            ("CANCELLED", "لغو شده"),
                        ],
                        db_index=True,
                        default="DRAFT",
                        max_length=20,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "receiver_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="دریافت\u200cکننده"
                    ),
                ),
                (
                    "receiver_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام دریافت\u200cکننده"
                    ),
                ),
                (
                    "receipt_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ رسید"),
                ),
                (
                    "posting_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ ثبت"),
                ),
                (
                    "total_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ کل",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "delivery_note_number",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="شماره بارنامه"
                    ),
                ),
                (
                    "transporter",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="حمل\u200cکننده"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "رسید کالا",
                "verbose_name_plural": "رسیدهای کالا",
                "db_table": "scm_goods_receipt",
            },
        ),
        migrations.CreateModel(
            name="GoodsReceiptLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "po_line_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="آیتم سفارش خرید"
                    ),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                (
                    "ordered_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار سفارش",
                    ),
                ),
                (
                    "received_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار دریافتی",
                    ),
                ),
                (
                    "accepted_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار پذیرفته",
                    ),
                ),
                (
                    "rejected_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار مردود",
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "unit_cost",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد",
                    ),
                ),
                (
                    "line_total",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ ردیف",
                    ),
                ),
                (
                    "warehouse_id",
                    models.UUIDField(blank=True, null=True, verbose_name="انبار"),
                ),
                (
                    "warehouse_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام انبار"
                    ),
                ),
                (
                    "storage_location_id",
                    models.UUIDField(blank=True, null=True, verbose_name="محل نگهداری"),
                ),
                (
                    "batch_number",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="شماره بچ"
                    ),
                ),
                (
                    "serial_numbers",
                    models.JSONField(
                        blank=True, default=list, verbose_name="شماره سریال\u200cها"
                    ),
                ),
                (
                    "inspection_required",
                    models.BooleanField(default=False, verbose_name="نیاز به بازرسی"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "receipt",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.goodsreceiptmodel",
                        verbose_name="رسید کالا",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم رسید کالا",
                "verbose_name_plural": "آیتم\u200cهای رسید کالا",
                "db_table": "scm_goods_receipt_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.CreateModel(
            name="PurchaseOrderModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "po_number",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="شماره سفارش"
                    ),
                ),
                (
                    "title",
                    models.CharField(blank=True, max_length=255, verbose_name="عنوان"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("PENDING_APPROVAL", "در انتظار تأیید"),
                            ("APPROVED", "تأیید شده"),
                            ("REJECTED", "رد شده"),
                            ("SENT", "ارسال شده"),
                            ("PARTIALLY_RECEIVED", "دریافت جزئی"),
                            ("FULLY_RECEIVED", "دریافت کامل"),
                            ("CANCELLED", "لغو شده"),
                            ("CLOSED", "بسته شده"),
                        ],
                        db_index=True,
                        default="DRAFT",
                        max_length=25,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "priority",
                    models.CharField(
                        choices=[
                            ("LOW", "کم"),
                            ("NORMAL", "عادی"),
                            ("HIGH", "زیاد"),
                            ("URGENT", "فوری"),
                        ],
                        default="NORMAL",
                        max_length=10,
                        verbose_name="اولویت",
                    ),
                ),
                (
                    "pr_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="درخواست خرید"
                    ),
                ),
                (
                    "pr_number",
                    models.CharField(
                        blank=True, max_length=50, verbose_name="شماره درخواست خرید"
                    ),
                ),
                (
                    "rfq_id",
                    models.UUIDField(blank=True, null=True, verbose_name="استعلام"),
                ),
                (
                    "rfq_number",
                    models.CharField(
                        blank=True, max_length=50, verbose_name="شماره استعلام"
                    ),
                ),
                (
                    "contract_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="قرارداد (CLM)"
                    ),
                ),
                (
                    "buyer_id",
                    models.UUIDField(blank=True, null=True, verbose_name="خریدار"),
                ),
                (
                    "buyer_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام خریدار"
                    ),
                ),
                (
                    "order_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ سفارش"),
                ),
                (
                    "expected_delivery_date",
                    models.DateField(
                        blank=True, null=True, verbose_name="تاریخ تحویل مورد انتظار"
                    ),
                ),
                (
                    "actual_delivery_date",
                    models.DateField(
                        blank=True, null=True, verbose_name="تاریخ تحویل واقعی"
                    ),
                ),
                (
                    "subtotal",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="جمع فرعی",
                    ),
                ),
                (
                    "total_discount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="جمع تخفیف",
                    ),
                ),
                (
                    "total_tax",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="جمع مالیات",
                    ),
                ),
                (
                    "total_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ کل",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "payment_terms",
                    models.CharField(
                        blank=True, max_length=500, verbose_name="شرایط پرداخت"
                    ),
                ),
                (
                    "delivery_terms",
                    models.CharField(
                        blank=True, max_length=500, verbose_name="شرایط تحویل"
                    ),
                ),
                (
                    "shipping_address",
                    models.TextField(blank=True, verbose_name="آدرس تحویل"),
                ),
                (
                    "approved_by_id",
                    models.UUIDField(blank=True, null=True, verbose_name="تأیید توسط"),
                ),
                (
                    "approved_at",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="تاریخ تأیید"
                    ),
                ),
                (
                    "rejection_reason",
                    models.TextField(blank=True, verbose_name="دلیل رد"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "سفارش خرید",
                "verbose_name_plural": "سفارش\u200cهای خرید",
                "db_table": "scm_purchase_order",
            },
        ),
        migrations.CreateModel(
            name="PurchaseOrderLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "quantity",
                    models.DecimalField(
                        decimal_places=4, default=0, max_digits=18, verbose_name="مقدار"
                    ),
                ),
                (
                    "received_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار دریافت\u200cشده",
                    ),
                ),
                (
                    "returned_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار برگشتی",
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "unit_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد",
                    ),
                ),
                (
                    "discount_percent",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=5,
                        verbose_name="درصد تخفیف",
                    ),
                ),
                (
                    "discount_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ تخفیف",
                    ),
                ),
                (
                    "tax_percent",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=5,
                        verbose_name="درصد مالیات",
                    ),
                ),
                (
                    "tax_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ مالیات",
                    ),
                ),
                (
                    "line_total",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ ردیف",
                    ),
                ),
                (
                    "warehouse_id",
                    models.UUIDField(blank=True, null=True, verbose_name="انبار مقصد"),
                ),
                (
                    "warehouse_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام انبار"
                    ),
                ),
                (
                    "required_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ نیاز"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "pr_line_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="آیتم درخواست خرید"
                    ),
                ),
                (
                    "rfq_response_line_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="آیتم پاسخ استعلام"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "order",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.purchaseordermodel",
                        verbose_name="سفارش خرید",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم سفارش خرید",
                "verbose_name_plural": "آیتم\u200cهای سفارش خرید",
                "db_table": "scm_purchase_order_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.AddField(
            model_name="goodsreceiptmodel",
            name="po",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="goods_receipts",
                to="scm.purchaseordermodel",
                verbose_name="سفارش خرید",
            ),
        ),
        migrations.CreateModel(
            name="PurchaseRequisitionModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "pr_number",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="شماره درخواست"
                    ),
                ),
                (
                    "title",
                    models.CharField(blank=True, max_length=255, verbose_name="عنوان"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("PENDING_APPROVAL", "در انتظار تأیید"),
                            ("APPROVED", "تأیید شده"),
                            ("REJECTED", "رد شده"),
                            ("CONVERTED", "تبدیل شده"),
                            ("PARTIALLY_CONVERTED", "تبدیل جزئی"),
                            ("CANCELLED", "لغو شده"),
                        ],
                        db_index=True,
                        default="DRAFT",
                        max_length=25,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "priority",
                    models.CharField(
                        choices=[
                            ("LOW", "کم"),
                            ("NORMAL", "عادی"),
                            ("HIGH", "زیاد"),
                            ("URGENT", "فوری"),
                        ],
                        default="NORMAL",
                        max_length=10,
                        verbose_name="اولویت",
                    ),
                ),
                (
                    "requester_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="درخواست\u200cدهنده"
                    ),
                ),
                (
                    "requester_name",
                    models.CharField(
                        blank=True,
                        max_length=255,
                        verbose_name="نام درخواست\u200cدهنده",
                    ),
                ),
                (
                    "department",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="واحد سازمانی"
                    ),
                ),
                (
                    "request_date",
                    models.DateField(
                        blank=True, null=True, verbose_name="تاریخ درخواست"
                    ),
                ),
                (
                    "required_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ نیاز"),
                ),
                (
                    "total_estimated_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ تخمینی کل",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "approved_by_id",
                    models.UUIDField(blank=True, null=True, verbose_name="تأیید توسط"),
                ),
                (
                    "approved_at",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="تاریخ تأیید"
                    ),
                ),
                (
                    "rejection_reason",
                    models.TextField(blank=True, verbose_name="دلیل رد"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "درخواست خرید",
                "verbose_name_plural": "درخواست\u200cهای خرید",
                "db_table": "scm_purchase_requisition",
            },
        ),
        migrations.CreateModel(
            name="PurchaseRequisitionLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "quantity",
                    models.DecimalField(
                        decimal_places=4, default=0, max_digits=18, verbose_name="مقدار"
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "estimated_unit_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد تخمینی",
                    ),
                ),
                (
                    "estimated_total_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ تخمینی",
                    ),
                ),
                (
                    "required_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ نیاز"),
                ),
                (
                    "warehouse_id",
                    models.UUIDField(blank=True, null=True, verbose_name="انبار مقصد"),
                ),
                (
                    "warehouse_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام انبار"
                    ),
                ),
                (
                    "preferred_vendor_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="تأمین\u200cکننده ترجیحی"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "is_converted",
                    models.BooleanField(default=False, verbose_name="تبدیل شده"),
                ),
                (
                    "converted_po_id",
                    models.UUIDField(blank=True, null=True, verbose_name="سفارش خرید"),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "requisition",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.purchaserequisitionmodel",
                        verbose_name="درخواست خرید",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم درخواست خرید",
                "verbose_name_plural": "آیتم\u200cهای درخواست خرید",
                "db_table": "scm_purchase_requisition_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.CreateModel(
            name="PurchaseReturnModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "return_number",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="شماره برگشت"
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("PENDING_APPROVAL", "در انتظار تأیید"),
                            ("APPROVED", "تأیید شده"),
                            ("SENT", "ارسال شده"),
                            ("COMPLETED", "تکمیل شده"),
                            ("CANCELLED", "لغو شده"),
                        ],
                        db_index=True,
                        default="DRAFT",
                        max_length=25,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "requester_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="درخواست\u200cدهنده"
                    ),
                ),
                (
                    "requester_name",
                    models.CharField(
                        blank=True,
                        max_length=255,
                        verbose_name="نام درخواست\u200cدهنده",
                    ),
                ),
                (
                    "return_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ برگشت"),
                ),
                (
                    "total_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ کل",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "approved_by_id",
                    models.UUIDField(blank=True, null=True, verbose_name="تأیید توسط"),
                ),
                (
                    "approved_at",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="تاریخ تأیید"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "gr",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="returns",
                        to="scm.goodsreceiptmodel",
                        verbose_name="رسید کالا",
                    ),
                ),
                (
                    "po",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="returns",
                        to="scm.purchaseordermodel",
                        verbose_name="سفارش خرید",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "برگشت از خرید",
                "verbose_name_plural": "برگشت\u200cهای از خرید",
                "db_table": "scm_purchase_return",
            },
        ),
        migrations.CreateModel(
            name="PurchaseReturnLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "gr_line_id",
                    models.UUIDField(blank=True, null=True, verbose_name="آیتم رسید"),
                ),
                (
                    "po_line_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="آیتم سفارش خرید"
                    ),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                (
                    "return_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار برگشتی",
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "unit_cost",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد",
                    ),
                ),
                (
                    "line_total",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ ردیف",
                    ),
                ),
                (
                    "reason",
                    models.CharField(
                        choices=[
                            ("DEFECTIVE", "معیوب"),
                            ("WRONG_ITEM", "اشتباه"),
                            ("EXCESS_QUANTITY", "مازاد"),
                            ("QUALITY_ISSUE", "مشکل کیفیت"),
                            ("DAMAGED", "آسیب\u200cدیده"),
                            ("OTHER", "سایر"),
                        ],
                        default="OTHER",
                        max_length=20,
                        verbose_name="دلیل برگشت",
                    ),
                ),
                (
                    "reason_detail",
                    models.TextField(blank=True, verbose_name="توضیح دلیل"),
                ),
                (
                    "warehouse_id",
                    models.UUIDField(blank=True, null=True, verbose_name="انبار"),
                ),
                (
                    "batch_number",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="شماره بچ"
                    ),
                ),
                (
                    "serial_numbers",
                    models.JSONField(
                        blank=True, default=list, verbose_name="شماره سریال\u200cها"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "purchase_return",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.purchasereturnmodel",
                        verbose_name="برگشت خرید",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم برگشت از خرید",
                "verbose_name_plural": "آیتم\u200cهای برگشت از خرید",
                "db_table": "scm_purchase_return_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.CreateModel(
            name="RFQModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "rfq_number",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="شماره استعلام"
                    ),
                ),
                (
                    "title",
                    models.CharField(blank=True, max_length=255, verbose_name="عنوان"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("SENT", "ارسال شده"),
                            ("CLOSED", "بسته شده"),
                            ("CANCELLED", "لغو شده"),
                            ("AWARDED", "واگذار شده"),
                        ],
                        db_index=True,
                        default="DRAFT",
                        max_length=20,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "pr_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="درخواست خرید"
                    ),
                ),
                (
                    "pr_number",
                    models.CharField(
                        blank=True, max_length=50, verbose_name="شماره درخواست خرید"
                    ),
                ),
                (
                    "issue_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ صدور"),
                ),
                (
                    "closing_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ پایان"),
                ),
                (
                    "required_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ نیاز"),
                ),
                (
                    "buyer_id",
                    models.UUIDField(blank=True, null=True, verbose_name="خریدار"),
                ),
                (
                    "buyer_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام خریدار"
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "درخواست استعلام",
                "verbose_name_plural": "درخواست\u200cهای استعلام",
                "db_table": "scm_rfq",
            },
        ),
        migrations.CreateModel(
            name="RFQLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "quantity",
                    models.DecimalField(
                        decimal_places=4, default=0, max_digits=18, verbose_name="مقدار"
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "required_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ نیاز"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "rfq",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.rfqmodel",
                        verbose_name="استعلام",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم استعلام",
                "verbose_name_plural": "آیتم\u200cهای استعلام",
                "db_table": "scm_rfq_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.CreateModel(
            name="RFQVendorResponseModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("PENDING", "در انتظار"),
                            ("RECEIVED", "دریافت شده"),
                            ("AWARDED", "برنده"),
                            ("REJECTED", "رد شده"),
                        ],
                        default="PENDING",
                        max_length=20,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "response_date",
                    models.DateField(blank=True, null=True, verbose_name="تاریخ پاسخ"),
                ),
                (
                    "validity_date",
                    models.DateField(blank=True, null=True, verbose_name="اعتبار تا"),
                ),
                (
                    "total_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ کل",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "payment_terms",
                    models.CharField(
                        blank=True, max_length=500, verbose_name="شرایط پرداخت"
                    ),
                ),
                (
                    "delivery_terms",
                    models.CharField(
                        blank=True, max_length=500, verbose_name="شرایط تحویل"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "rfq",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="vendor_responses",
                        to="scm.rfqmodel",
                        verbose_name="استعلام",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "پاسخ تأمین\u200cکننده",
                "verbose_name_plural": "پاسخ\u200cهای تأمین\u200cکنندگان",
                "db_table": "scm_rfq_vendor_response",
            },
        ),
        migrations.CreateModel(
            name="RFQVendorResponseLineModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "line_number",
                    models.PositiveIntegerField(default=0, verbose_name="ردیف"),
                ),
                (
                    "unit_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد",
                    ),
                ),
                (
                    "total_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="مبلغ کل",
                    ),
                ),
                (
                    "delivery_days",
                    models.PositiveIntegerField(
                        default=0, verbose_name="زمان تحویل (روز)"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "rfq_line",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="vendor_response_lines",
                        to="scm.rfqlinemodel",
                        verbose_name="آیتم استعلام",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "response",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lines",
                        to="scm.rfqvendorresponsemodel",
                        verbose_name="پاسخ",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم پاسخ تأمین\u200cکننده",
                "verbose_name_plural": "آیتم\u200cهای پاسخ تأمین\u200cکنندگان",
                "db_table": "scm_rfq_vendor_response_line",
                "ordering": ["line_number"],
            },
        ),
        migrations.CreateModel(
            name="VendorCategoryModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "category_code",
                    models.CharField(db_index=True, max_length=50, verbose_name="کد"),
                ),
                (
                    "category_name",
                    models.CharField(max_length=255, verbose_name="نام دسته\u200cبندی"),
                ),
                ("level", models.PositiveIntegerField(default=0, verbose_name="سطح")),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "is_active",
                    models.BooleanField(
                        db_index=True, default=True, verbose_name="فعال"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "parent_category",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="children",
                        to="scm.vendorcategorymodel",
                        verbose_name="دسته\u200cبندی مادر",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "دسته\u200cبندی تأمین\u200cکننده",
                "verbose_name_plural": "دسته\u200cبندی تأمین\u200cکنندگان",
                "db_table": "scm_vendor_category",
            },
        ),
        migrations.CreateModel(
            name="VendorEvaluationModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "evaluator_id",
                    models.UUIDField(blank=True, null=True, verbose_name="ارزیاب"),
                ),
                (
                    "evaluator_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام ارزیاب"
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("DRAFT", "پیش\u200cنویس"),
                            ("IN_PROGRESS", "در حال انجام"),
                            ("COMPLETED", "تکمیل شده"),
                            ("CANCELLED", "لغو شده"),
                        ],
                        default="DRAFT",
                        max_length=20,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "evaluation_date",
                    models.DateField(
                        blank=True, null=True, verbose_name="تاریخ ارزیابی"
                    ),
                ),
                (
                    "total_score",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=5,
                        verbose_name="امتیاز کل",
                    ),
                ),
                (
                    "rating",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("EXCELLENT", "عالی"),
                            ("GOOD", "خوب"),
                            ("AVERAGE", "متوسط"),
                            ("POOR", "ضعیف"),
                            ("UNACCEPTABLE", "غیرقابل قبول"),
                        ],
                        max_length=20,
                        verbose_name="رتبه",
                    ),
                ),
                ("comments", models.TextField(blank=True, verbose_name="نظرات")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "period",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="evaluations",
                        to="scm.evaluationperiodmodel",
                        verbose_name="دوره",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "ارزیابی تأمین\u200cکننده",
                "verbose_name_plural": "ارزیابی\u200cهای تأمین\u200cکنندگان",
                "db_table": "scm_vendor_evaluation",
            },
        ),
        migrations.CreateModel(
            name="VendorEvaluationScoreModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "weight",
                    models.DecimalField(
                        decimal_places=2, default=0, max_digits=5, verbose_name="وزن"
                    ),
                ),
                (
                    "score",
                    models.DecimalField(
                        decimal_places=2, default=0, max_digits=5, verbose_name="امتیاز"
                    ),
                ),
                (
                    "weighted_score",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=5,
                        verbose_name="امتیاز وزنی",
                    ),
                ),
                ("comments", models.TextField(blank=True, verbose_name="نظرات")),
                (
                    "criteria",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="+",
                        to="scm.evaluationcriteriamodel",
                        verbose_name="معیار",
                    ),
                ),
                (
                    "evaluation",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="scores",
                        to="scm.vendorevaluationmodel",
                        verbose_name="ارزیابی",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "امتیاز ارزیابی",
                "verbose_name_plural": "امتیازهای ارزیابی",
                "db_table": "scm_vendor_evaluation_score",
            },
        ),
        migrations.CreateModel(
            name="VendorModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "vendor_code",
                    models.CharField(
                        db_index=True, max_length=50, verbose_name="کد تأمین\u200cکننده"
                    ),
                ),
                (
                    "vendor_name",
                    models.CharField(
                        max_length=255, verbose_name="نام تأمین\u200cکننده"
                    ),
                ),
                (
                    "vendor_name_en",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام انگلیسی"
                    ),
                ),
                (
                    "vendor_type",
                    models.CharField(
                        choices=[
                            ("INDIVIDUAL", "حقیقی"),
                            ("COMPANY", "حقوقی"),
                            ("GOVERNMENT", "دولتی"),
                        ],
                        default="COMPANY",
                        max_length=20,
                        verbose_name="نوع",
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("ACTIVE", "فعال"),
                            ("INACTIVE", "غیرفعال"),
                            ("BLOCKED", "مسدود"),
                            ("PENDING_APPROVAL", "در انتظار تأیید"),
                        ],
                        db_index=True,
                        default="PENDING_APPROVAL",
                        max_length=20,
                        verbose_name="وضعیت",
                    ),
                ),
                (
                    "national_id",
                    models.CharField(
                        blank=True, max_length=20, verbose_name="شناسه ملی / کد ملی"
                    ),
                ),
                (
                    "economic_code",
                    models.CharField(
                        blank=True, max_length=20, verbose_name="کد اقتصادی"
                    ),
                ),
                (
                    "registration_number",
                    models.CharField(
                        blank=True, max_length=50, verbose_name="شماره ثبت"
                    ),
                ),
                (
                    "phone",
                    models.CharField(blank=True, max_length=20, verbose_name="تلفن"),
                ),
                (
                    "fax",
                    models.CharField(blank=True, max_length=20, verbose_name="فکس"),
                ),
                (
                    "email",
                    models.EmailField(blank=True, max_length=254, verbose_name="ایمیل"),
                ),
                ("website", models.URLField(blank=True, verbose_name="وب\u200cسایت")),
                (
                    "representative_employee_id",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="نماینده داخلی (کارمند)"
                    ),
                ),
                (
                    "payment_terms_days",
                    models.PositiveIntegerField(
                        default=30, verbose_name="مهلت پرداخت (روز)"
                    ),
                ),
                (
                    "credit_limit",
                    models.BigIntegerField(default=0, verbose_name="سقف اعتبار"),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                (
                    "is_active",
                    models.BooleanField(
                        db_index=True, default=True, verbose_name="فعال"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "updated_by",
                    models.UUIDField(
                        blank=True, null=True, verbose_name="بروزرسانی توسط"
                    ),
                ),
                (
                    "category",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="vendors",
                        to="scm.vendorcategorymodel",
                        verbose_name="دسته\u200cبندی",
                    ),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "تأمین\u200cکننده",
                "verbose_name_plural": "تأمین\u200cکنندگان",
                "db_table": "scm_vendor",
            },
        ),
        migrations.AddField(
            model_name="vendorevaluationmodel",
            name="vendor",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="evaluations",
                to="scm.vendormodel",
                verbose_name="تأمین\u200cکننده",
            ),
        ),
        migrations.CreateModel(
            name="VendorContactModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "contact_name",
                    models.CharField(max_length=255, verbose_name="نام مخاطب"),
                ),
                (
                    "contact_title",
                    models.CharField(blank=True, max_length=100, verbose_name="سمت"),
                ),
                (
                    "phone",
                    models.CharField(blank=True, max_length=20, verbose_name="تلفن"),
                ),
                (
                    "mobile",
                    models.CharField(blank=True, max_length=20, verbose_name="موبایل"),
                ),
                (
                    "email",
                    models.EmailField(blank=True, max_length=254, verbose_name="ایمیل"),
                ),
                (
                    "is_primary",
                    models.BooleanField(default=False, verbose_name="مخاطب اصلی"),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="فعال")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="contacts",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "مخاطب تأمین\u200cکننده",
                "verbose_name_plural": "مخاطبین تأمین\u200cکنندگان",
                "db_table": "scm_vendor_contact",
            },
        ),
        migrations.CreateModel(
            name="VendorBankAccountModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "bank_name",
                    models.CharField(max_length=100, verbose_name="نام بانک"),
                ),
                (
                    "branch_name",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="نام شعبه"
                    ),
                ),
                (
                    "account_number",
                    models.CharField(max_length=50, verbose_name="شماره حساب"),
                ),
                (
                    "iban",
                    models.CharField(blank=True, max_length=34, verbose_name="شبا"),
                ),
                (
                    "account_holder_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام صاحب حساب"
                    ),
                ),
                (
                    "is_default",
                    models.BooleanField(default=False, verbose_name="پیش\u200cفرض"),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="فعال")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="bank_accounts",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "حساب بانکی تأمین\u200cکننده",
                "verbose_name_plural": "حساب\u200cهای بانکی تأمین\u200cکنندگان",
                "db_table": "scm_vendor_bank_account",
            },
        ),
        migrations.CreateModel(
            name="VendorAddressModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "address_type",
                    models.CharField(
                        choices=[
                            ("MAIN", "اصلی"),
                            ("BILLING", "صورتحساب"),
                            ("SHIPPING", "ارسال"),
                            ("WAREHOUSE", "انبار"),
                        ],
                        default="MAIN",
                        max_length=20,
                        verbose_name="نوع آدرس",
                    ),
                ),
                (
                    "address_line1",
                    models.CharField(max_length=500, verbose_name="آدرس خط ۱"),
                ),
                (
                    "address_line2",
                    models.CharField(
                        blank=True, max_length=500, verbose_name="آدرس خط ۲"
                    ),
                ),
                (
                    "city",
                    models.CharField(blank=True, max_length=100, verbose_name="شهر"),
                ),
                (
                    "province",
                    models.CharField(blank=True, max_length=100, verbose_name="استان"),
                ),
                (
                    "postal_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد پستی"),
                ),
                (
                    "country",
                    models.CharField(default="IR", max_length=5, verbose_name="کشور"),
                ),
                (
                    "phone",
                    models.CharField(blank=True, max_length=20, verbose_name="تلفن"),
                ),
                (
                    "fax",
                    models.CharField(blank=True, max_length=20, verbose_name="فکس"),
                ),
                (
                    "is_default",
                    models.BooleanField(default=False, verbose_name="پیش\u200cفرض"),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="addresses",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "آدرس تأمین\u200cکننده",
                "verbose_name_plural": "آدرس\u200cهای تأمین\u200cکنندگان",
                "db_table": "scm_vendor_address",
            },
        ),
        migrations.AddField(
            model_name="rfqvendorresponsemodel",
            name="vendor",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="rfq_responses",
                to="scm.vendormodel",
                verbose_name="تأمین\u200cکننده",
            ),
        ),
        migrations.CreateModel(
            name="RFQInvitedVendorModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "invited_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ دعوت"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "rfq",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="invited_vendors",
                        to="scm.rfqmodel",
                        verbose_name="استعلام",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="rfq_invitations",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "تأمین\u200cکننده دعوت\u200cشده",
                "verbose_name_plural": "تأمین\u200cکنندگان دعوت\u200cشده",
                "db_table": "scm_rfq_invited_vendor",
            },
        ),
        migrations.AddField(
            model_name="purchasereturnmodel",
            name="vendor",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="returns",
                to="scm.vendormodel",
                verbose_name="تأمین\u200cکننده",
            ),
        ),
        migrations.AddField(
            model_name="purchaseordermodel",
            name="vendor",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="purchase_orders",
                to="scm.vendormodel",
                verbose_name="تأمین\u200cکننده",
            ),
        ),
        migrations.CreateModel(
            name="PurchaseDiscountModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "item_id",
                    models.UUIDField(blank=True, null=True, verbose_name="کالا"),
                ),
                (
                    "item_group_id",
                    models.UUIDField(blank=True, null=True, verbose_name="گروه کالا"),
                ),
                (
                    "discount_type",
                    models.CharField(
                        choices=[("PERCENTAGE", "درصدی"), ("FIXED_AMOUNT", "مبلغی")],
                        default="PERCENTAGE",
                        max_length=20,
                        verbose_name="نوع تخفیف",
                    ),
                ),
                (
                    "discount_value",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="مقدار تخفیف",
                    ),
                ),
                (
                    "min_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=0,
                        max_digits=18,
                        verbose_name="حداقل مقدار",
                    ),
                ),
                (
                    "min_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="حداقل مبلغ",
                    ),
                ),
                (
                    "valid_from",
                    models.DateField(blank=True, null=True, verbose_name="معتبر از"),
                ),
                (
                    "valid_to",
                    models.DateField(blank=True, null=True, verbose_name="معتبر تا"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "is_active",
                    models.BooleanField(
                        db_index=True, default=True, verbose_name="فعال"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="discounts",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "تخفیف خرید",
                "verbose_name_plural": "تخفیف\u200cهای خرید",
                "db_table": "scm_purchase_discount",
            },
        ),
        migrations.AddField(
            model_name="goodsreceiptmodel",
            name="vendor",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="goods_receipts",
                to="scm.vendormodel",
                verbose_name="تأمین\u200cکننده",
            ),
        ),
        migrations.CreateModel(
            name="VendorPriceListModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                (
                    "price_list_name",
                    models.CharField(max_length=255, verbose_name="نام لیست قیمت"),
                ),
                ("description", models.TextField(blank=True, verbose_name="توضیحات")),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                (
                    "valid_from",
                    models.DateField(blank=True, null=True, verbose_name="معتبر از"),
                ),
                (
                    "valid_to",
                    models.DateField(blank=True, null=True, verbose_name="معتبر تا"),
                ),
                (
                    "is_active",
                    models.BooleanField(
                        db_index=True, default=True, verbose_name="فعال"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "created_by",
                    models.UUIDField(blank=True, null=True, verbose_name="ایجاد توسط"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "vendor",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="price_lists",
                        to="scm.vendormodel",
                        verbose_name="تأمین\u200cکننده",
                    ),
                ),
            ],
            options={
                "verbose_name": "لیست قیمت تأمین\u200cکننده",
                "verbose_name_plural": "لیست قیمت\u200cهای تأمین\u200cکنندگان",
                "db_table": "scm_vendor_price_list",
            },
        ),
        migrations.CreateModel(
            name="VendorPriceListItemModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("item_id", models.UUIDField(verbose_name="کالا")),
                (
                    "item_code",
                    models.CharField(blank=True, max_length=50, verbose_name="کد کالا"),
                ),
                (
                    "item_name",
                    models.CharField(
                        blank=True, max_length=255, verbose_name="نام کالا"
                    ),
                ),
                (
                    "uom_id",
                    models.UUIDField(blank=True, null=True, verbose_name="واحد"),
                ),
                (
                    "uom_code",
                    models.CharField(blank=True, max_length=20, verbose_name="کد واحد"),
                ),
                (
                    "unit_price",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="قیمت واحد",
                    ),
                ),
                (
                    "min_quantity",
                    models.DecimalField(
                        decimal_places=4,
                        default=1,
                        max_digits=18,
                        verbose_name="حداقل مقدار",
                    ),
                ),
                (
                    "lead_time_days",
                    models.PositiveIntegerField(
                        default=0, verbose_name="زمان تحویل (روز)"
                    ),
                ),
                ("notes", models.TextField(blank=True, verbose_name="یادداشت")),
                ("is_active", models.BooleanField(default=True, verbose_name="فعال")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
                (
                    "price_list",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="items",
                        to="scm.vendorpricelistmodel",
                        verbose_name="لیست قیمت",
                    ),
                ),
            ],
            options={
                "verbose_name": "آیتم لیست قیمت",
                "verbose_name_plural": "آیتم\u200cهای لیست قیمت",
                "db_table": "scm_vendor_price_list_item",
            },
        ),
        migrations.CreateModel(
            name="PurchaseLimitModel",
            fields=[
                (
                    "id",
                    models.UUIDField(
                        default=uuid.uuid4,
                        editable=False,
                        primary_key=True,
                        serialize=False,
                    ),
                ),
                ("role_name", models.CharField(max_length=100, verbose_name="نام نقش")),
                (
                    "max_amount",
                    models.DecimalField(
                        decimal_places=2,
                        default=0,
                        max_digits=20,
                        verbose_name="حداکثر مبلغ سفارش",
                    ),
                ),
                (
                    "currency_code",
                    models.CharField(default="IRR", max_length=10, verbose_name="ارز"),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="فعال")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="تاریخ ایجاد"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="تاریخ بروزرسانی"),
                ),
                (
                    "tenant",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(class)s_set",
                        to="tenant.tenant",
                    ),
                ),
            ],
            options={
                "verbose_name": "حد مجاز خرید",
                "verbose_name_plural": "حدود مجاز خرید",
                "db_table": "scm_purchase_limit",
                "unique_together": {("tenant", "role_name")},
            },
        ),
        migrations.AddIndex(
            model_name="purchaserequisitionmodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_purchas_tenant__2f1f33_idx"
            ),
        ),
        migrations.AddIndex(
            model_name="purchaserequisitionmodel",
            index=models.Index(
                fields=["tenant", "requester_id"], name="scm_purchas_tenant__1915d2_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="purchaserequisitionmodel",
            unique_together={("tenant", "pr_number")},
        ),
        migrations.AddIndex(
            model_name="rfqmodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_rfq_tenant__769ef5_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="rfqmodel",
            unique_together={("tenant", "rfq_number")},
        ),
        migrations.AddIndex(
            model_name="vendorcategorymodel",
            index=models.Index(
                fields=["tenant", "is_active"], name="scm_vendor__tenant__9a8e1c_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="vendorcategorymodel",
            unique_together={("tenant", "category_code")},
        ),
        migrations.AddIndex(
            model_name="vendormodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_vendor_tenant__e7f5e8_idx"
            ),
        ),
        migrations.AddIndex(
            model_name="vendormodel",
            index=models.Index(
                fields=["tenant", "is_active"], name="scm_vendor_tenant__d8cd4f_idx"
            ),
        ),
        migrations.AddIndex(
            model_name="vendormodel",
            index=models.Index(
                fields=["tenant", "category"], name="scm_vendor_tenant__00ad3a_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="vendormodel",
            unique_together={("tenant", "vendor_code")},
        ),
        migrations.AlterUniqueTogether(
            name="vendorevaluationmodel",
            unique_together={("tenant", "vendor", "period")},
        ),
        migrations.AlterUniqueTogether(
            name="rfqvendorresponsemodel",
            unique_together={("rfq", "vendor")},
        ),
        migrations.AlterUniqueTogether(
            name="rfqinvitedvendormodel",
            unique_together={("rfq", "vendor")},
        ),
        migrations.AddIndex(
            model_name="purchasereturnmodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_purchas_tenant__dc3194_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="purchasereturnmodel",
            unique_together={("tenant", "return_number")},
        ),
        migrations.AddIndex(
            model_name="purchaseordermodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_purchas_tenant__7be1ac_idx"
            ),
        ),
        migrations.AddIndex(
            model_name="purchaseordermodel",
            index=models.Index(
                fields=["tenant", "vendor"], name="scm_purchas_tenant__f284d5_idx"
            ),
        ),
        migrations.AddIndex(
            model_name="purchaseordermodel",
            index=models.Index(
                fields=["tenant", "buyer_id"], name="scm_purchas_tenant__74ef79_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="purchaseordermodel",
            unique_together={("tenant", "po_number")},
        ),
        migrations.AddIndex(
            model_name="purchasediscountmodel",
            index=models.Index(
                fields=["tenant", "vendor", "is_active"],
                name="scm_purchas_tenant__ca68b5_idx",
            ),
        ),
        migrations.AddIndex(
            model_name="goodsreceiptmodel",
            index=models.Index(
                fields=["tenant", "status"], name="scm_goods_r_tenant__6d4094_idx"
            ),
        ),
        migrations.AlterUniqueTogether(
            name="goodsreceiptmodel",
            unique_together={("tenant", "gr_number")},
        ),
        migrations.AddIndex(
            model_name="vendorpricelistmodel",
            index=models.Index(
                fields=["tenant", "vendor", "is_active"],
                name="scm_vendor__tenant__080e7c_idx",
            ),
        ),
    ]
