# Generated by Django 5.2.4 on 2025-09-07 07:35

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


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('locations', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='WaterMeterManufacturer',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
                ('is_active', models.BooleanField(default=True, verbose_name='فعال')),
                ('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
                ('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
                ('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='نام شرکت سازنده کنتور آب')),
            ],
            options={
                'verbose_name': 'شرکت سازنده کنتور آب',
                'verbose_name_plural': 'شرکت\u200cهای سازنده کنتور آب',
            },
        ),
        migrations.CreateModel(
            name='HistoricalWell',
            fields=[
                ('id', models.BigIntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('created', models.DateTimeField(blank=True, editable=False, verbose_name='تاریخ ایجاد')),
                ('updated', models.DateTimeField(blank=True, editable=False, verbose_name='تاریخ بروزرسانی')),
                ('is_active', models.BooleanField(default=True, verbose_name='فعال')),
                ('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
                ('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
                ('slug', models.SlugField(max_length=100, verbose_name='اسلاگ')),
                ('water_subscription_number', models.CharField(db_index=True, max_length=20, verbose_name='شماره اشتراک آب')),
                ('electricity_subscription_number', models.CharField(db_index=True, max_length=20, null=True, verbose_name='شماره اشتراک برق')),
                ('water_meter_serial_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='سریال کنتور آب')),
                ('water_meter_old_serial_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='سریال کنتور قدیمی آب')),
                ('utm_x', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='X UTM')),
                ('utm_y', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='Y UTM')),
                ('utm_zone', models.PositiveIntegerField(blank=True, default=40, null=True, verbose_name='زون UTM')),
                ('utm_hemisphere', models.CharField(blank=True, choices=[('N', 'شمال'), ('S', 'جنوب')], default='N', max_length=1, null=True, verbose_name='نیمکره UTM')),
                ('well_power', models.PositiveIntegerField(blank=True, null=True, verbose_name='قدرت چاه')),
                ('reference_letter_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='شماره معرفی نامه')),
                ('reference_letter_date', models.DateField(blank=True, null=True, verbose_name='تاریخ معرفی نامه')),
                ('representative_letter_file', models.TextField(blank=True, max_length=100, null=True, verbose_name='نامه نمایندگی')),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField(db_index=True)),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('affairs', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='locations.affairs', verbose_name='امور')),
                ('broker', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='locations.broker', verbose_name='کارگزار')),
                ('county', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='locations.county', verbose_name='شهرستان')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('representative', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='نماینده')),
                ('water_meter_manufacturer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='wells.watermetermanufacturer', verbose_name='شرکت سازنده کنتور آب')),
            ],
            options={
                'verbose_name': 'historical چاه',
                'verbose_name_plural': 'historical چاه\u200cها',
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': ('history_date', 'history_id'),
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.CreateModel(
            name='Well',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
                ('updated', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
                ('is_active', models.BooleanField(default=True, verbose_name='فعال')),
                ('is_deleted', models.BooleanField(default=False, verbose_name='حذف شده')),
                ('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='تاریخ حذف')),
                ('slug', models.SlugField(max_length=100, unique=True, verbose_name='اسلاگ')),
                ('water_subscription_number', models.CharField(max_length=20, unique=True, verbose_name='شماره اشتراک آب')),
                ('electricity_subscription_number', models.CharField(max_length=20, null=True, unique=True, verbose_name='شماره اشتراک برق')),
                ('water_meter_serial_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='سریال کنتور آب')),
                ('water_meter_old_serial_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='سریال کنتور قدیمی آب')),
                ('utm_x', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='X UTM')),
                ('utm_y', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True, verbose_name='Y UTM')),
                ('utm_zone', models.PositiveIntegerField(blank=True, default=40, null=True, verbose_name='زون UTM')),
                ('utm_hemisphere', models.CharField(blank=True, choices=[('N', 'شمال'), ('S', 'جنوب')], default='N', max_length=1, null=True, verbose_name='نیمکره UTM')),
                ('well_power', models.PositiveIntegerField(blank=True, null=True, verbose_name='قدرت چاه')),
                ('reference_letter_number', models.CharField(blank=True, max_length=20, null=True, verbose_name='شماره معرفی نامه')),
                ('reference_letter_date', models.DateField(blank=True, null=True, verbose_name='تاریخ معرفی نامه')),
                ('representative_letter_file', models.FileField(blank=True, null=True, upload_to=wells.models.Well.path_and_rename, verbose_name='نامه نمایندگی')),
                ('affairs', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='locations.affairs', verbose_name='امور')),
                ('broker', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='locations.broker', verbose_name='کارگزار')),
                ('county', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='locations.county', verbose_name='شهرستان')),
                ('representative', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='wells', to=settings.AUTH_USER_MODEL, verbose_name='نماینده')),
                ('water_meter_manufacturer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='wells.watermetermanufacturer', verbose_name='شرکت سازنده کنتور آب')),
            ],
            options={
                'verbose_name': 'چاه',
                'verbose_name_plural': 'چاه\u200cها',
            },
        ),
    ]
