| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # 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')},
- },
- ),
- ]
|