# Generated by Django 4.1.2 on 2025-10-29 19:46 from django.db import migrations, models import django.utils.timezone class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='LocationGroupStatistics', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('warehouse_code', models.CharField(max_length=255, verbose_name='仓库代码')), ('warehouse_name', models.CharField(max_length=255, verbose_name='仓库名称')), ('layer', models.IntegerField(verbose_name='楼层')), ('location_group', models.CharField(max_length=20, verbose_name='库位组')), ('total_locations', models.IntegerField(default=0, verbose_name='组内总货位数')), ('used_locations', models.IntegerField(default=0, verbose_name='组内已用货位数')), ('available_locations', models.IntegerField(default=0, verbose_name='组内可用货位数')), ('utilization_rate', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='使用率(%)')), ('location_type_breakdown', models.JSONField(default=dict, verbose_name='货位类型细分')), ('statistic_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='统计时间')), ], options={ 'verbose_name': '货位组统计', 'verbose_name_plural': '货位组统计', 'db_table': 'location_group_statistics', 'ordering': ['warehouse_code', 'layer', 'location_group'], }, ), migrations.CreateModel( name='LocationStatistics', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('warehouse_code', models.CharField(max_length=255, verbose_name='仓库代码')), ('warehouse_name', models.CharField(max_length=255, verbose_name='仓库名称')), ('layer', models.IntegerField(verbose_name='楼层')), ('t5_total', models.IntegerField(default=0, verbose_name='5货位总数')), ('t5_used', models.IntegerField(default=0, verbose_name='5货位已用')), ('t5_available', models.IntegerField(default=0, verbose_name='5货位可用')), ('t4_total', models.IntegerField(default=0, verbose_name='4货位总数')), ('t4_used', models.IntegerField(default=0, verbose_name='4货位已用')), ('t4_available', models.IntegerField(default=0, verbose_name='4货位可用')), ('s4_total', models.IntegerField(default=0, verbose_name='4单货位总数')), ('s4_used', models.IntegerField(default=0, verbose_name='4单货位已用')), ('s4_available', models.IntegerField(default=0, verbose_name='4单货位可用')), ('t2_total', models.IntegerField(default=0, verbose_name='2货位总数')), ('t2_used', models.IntegerField(default=0, verbose_name='2货位已用')), ('t2_available', models.IntegerField(default=0, verbose_name='2货位可用')), ('t1_total', models.IntegerField(default=0, verbose_name='散货位总数')), ('t1_used', models.IntegerField(default=0, verbose_name='散货位已用')), ('t1_available', models.IntegerField(default=0, verbose_name='散货位可用')), ('total_locations', models.IntegerField(default=0, verbose_name='总货位数')), ('total_used', models.IntegerField(default=0, verbose_name='总已用数')), ('total_available', models.IntegerField(default=0, verbose_name='总可用数')), ('utilization_rate', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='使用率(%)')), ('statistic_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='统计时间')), ('is_latest', models.BooleanField(default=False, verbose_name='是否最新统计')), ], options={ 'verbose_name': '货位统计', 'verbose_name_plural': '货位统计', 'db_table': 'location_statistics', 'ordering': ['-statistic_time', 'warehouse_code', 'layer'], 'unique_together': {('warehouse_code', 'layer', 'statistic_time')}, }, ), ]