| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- from decimal import Decimal
- from django.db import migrations, models
- import django.db.models.deletion
- class Migration(migrations.Migration):
- initial = True
- dependencies = [
- ("container", "0038_wcstasklogmodel_floor_wcstasklogmodel_is_completed_and_more"),
- ]
- operations = [
- migrations.CreateModel(
- name="CountReason",
- fields=[
- ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
- ("code", models.CharField(max_length=32, unique=True, verbose_name="原因编码")),
- ("description", models.CharField(max_length=255, verbose_name="原因说明")),
- ("is_active", models.BooleanField(default=True, verbose_name="是否启用")),
- ("sort", models.IntegerField(default=0, verbose_name="排序")),
- ("note", models.CharField(blank=True, max_length=255, verbose_name="备注")),
- ("create_time", models.DateTimeField(auto_now_add=True, verbose_name="创建时间")),
- ("update_time", models.DateTimeField(auto_now=True, verbose_name="更新时间")),
- ],
- options={
- "verbose_name": "盘点差异原因",
- "verbose_name_plural": "盘点差异原因",
- "db_table": "cycle_count_reason",
- "ordering": ["sort", "code"],
- },
- ),
- migrations.CreateModel(
- name="CountTask",
- fields=[
- ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
- ("doc_no", models.CharField(blank=True, help_text="自动生成,也可手工录入", max_length=40, unique=True, verbose_name="任务单号")),
- ("warehouse_code", models.CharField(max_length=64, verbose_name="仓库编码")),
- ("warehouse_name", models.CharField(blank=True, max_length=128, verbose_name="仓库名称")),
- ("task_type", models.CharField(choices=[("full", "全盘"), ("sample", "抽盘"), ("adhoc", "临盘")], default="full", max_length=16, verbose_name="任务类型")),
- ("status", models.CharField(choices=[("draft", "草稿"), ("released", "已下发"), ("in_progress", "进行中"), ("wait_recount", "待复盘"), ("completed", "已完成"), ("closed", "已关闭")], default="draft", max_length=20, verbose_name="状态")),
- ("source_batch", models.CharField(blank=True, max_length=64, verbose_name="来源批次")),
- ("remark", models.CharField(blank=True, max_length=255, verbose_name="备注")),
- ("scheduled_at", models.DateTimeField(blank=True, null=True, verbose_name="计划盘点时间")),
- ("created_by", models.CharField(blank=True, max_length=64, verbose_name="创建人")),
- ("total_details", models.IntegerField(default=0, verbose_name="明细数量")),
- ("counted_details", models.IntegerField(default=0, verbose_name="已盘数量")),
- ("variance_details", models.IntegerField(default=0, verbose_name="差异数量")),
- ("create_time", models.DateTimeField(auto_now_add=True, verbose_name="创建时间")),
- ("update_time", models.DateTimeField(auto_now=True, verbose_name="更新时间")),
- ],
- options={
- "verbose_name": "盘点任务",
- "verbose_name_plural": "盘点任务",
- "db_table": "cycle_count_task",
- "ordering": ["-id"],
- },
- ),
- migrations.CreateModel(
- name="CountTaskDetail",
- fields=[
- ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
- ("container_code", models.CharField(blank=True, max_length=64, verbose_name="托盘编码")),
- ("location_code", models.CharField(blank=True, max_length=64, verbose_name="库位")),
- ("goods_code", models.CharField(blank=True, max_length=64, verbose_name="物料编码")),
- ("goods_desc", models.CharField(blank=True, max_length=255, verbose_name="物料名称")),
- ("goods_std", models.CharField(blank=True, max_length=255, verbose_name="规格型号")),
- ("goods_unit", models.CharField(blank=True, max_length=32, verbose_name="单位")),
- ("batch_number", models.CharField(blank=True, max_length=64, verbose_name="管理批次")),
- ("book_qty", models.DecimalField(decimal_places=3, default=Decimal("0"), max_digits=14, verbose_name="账面数量")),
- ("initial_count_qty", models.DecimalField(blank=True, decimal_places=3, max_digits=14, null=True, verbose_name="初盘数量")),
- ("recount_qty", models.DecimalField(blank=True, decimal_places=3, max_digits=14, null=True, verbose_name="复盘数量")),
- ("final_qty", models.DecimalField(decimal_places=3, default=Decimal("0"), max_digits=14, verbose_name="最终数量")),
- ("variance_qty", models.DecimalField(decimal_places=3, default=Decimal("0"), max_digits=14, verbose_name="盘差数量")),
- ("counter_name", models.CharField(blank=True, max_length=64, verbose_name="初盘人")),
- ("recount_counter", models.CharField(blank=True, max_length=64, verbose_name="复盘人")),
- ("note", models.CharField(blank=True, max_length=255, verbose_name="备注")),
- ("status", models.CharField(choices=[("pending", "待盘点"), ("counted", "已初盘"), ("variance", "待复盘"), ("completed", "已完成")], default="pending", max_length=20, verbose_name="状态")),
- ("create_time", models.DateTimeField(auto_now_add=True, verbose_name="创建时间")),
- ("update_time", models.DateTimeField(auto_now=True, verbose_name="更新时间")),
- ("container", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="count_details", to="container.containerlistmodel", verbose_name="托盘")),
- ("reason", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="details", to="cyclecount.countreason", verbose_name="差异原因")),
- ("task", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="details", to="cyclecount.counttask", verbose_name="任务")),
- ],
- options={
- "verbose_name": "盘点任务明细",
- "verbose_name_plural": "盘点任务明细",
- "db_table": "cycle_count_task_detail",
- "ordering": ["id"],
- },
- ),
- ]
|