123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- from django.db import models
- class InboundBill(models.Model):
- BOUND_TYPE = (
- (1, '订单'),
- (2, '其他'),
- )
- STATUS_CHOICES = (
- (0, '草稿'),
- (1, '已审批'),
- (2, '已入库'),
- (3, '已取消'),
- )
- billId = models.IntegerField(primary_key=True,verbose_name='原始单据ID')
- number = models.CharField(max_length=50, unique=True, verbose_name='单据编号')
- type = models.IntegerField(choices=BOUND_TYPE, verbose_name='绑定类型')
- date = models.CharField(max_length=10, verbose_name='入库时间')
- department = models.CharField(max_length=10, verbose_name='部门', null=True)
- warehouse = models.CharField(max_length=10, verbose_name='仓库', default='W01') # 修正 defaults 为 default
- creater = models.CharField(max_length=50, verbose_name='创建人', null=True)
- note = models.TextField(blank=True, verbose_name='备注说明', null=True)
- totalCount = models.IntegerField(verbose_name='总条目数')
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
- bound_status = models.IntegerField(default=0, verbose_name='状态')
- is_delete = models.BooleanField(default=False, verbose_name='是否删除')
- class Meta:
- verbose_name = '生产入库单'
- verbose_name_plural = verbose_name
- ordering = [ 'bound_status','-create_time','-update_time']
-
- class OutboundBill(models.Model):
- BOUND_TYPE = (
- (1, '订单'),
- (2, '其他'),
- )
- STATUS_CHOICES = (
- (0, '草稿'),
- (1, '已审批'),
- (2, '已入库'),
- (3, '已取消'),
- )
- billId = models.IntegerField(primary_key=True,verbose_name='原始单据ID')
- number = models.CharField(max_length=50, unique=True, verbose_name='单据编号')
- type = models.IntegerField(choices=BOUND_TYPE, verbose_name='绑定类型')
- date = models.CharField(max_length=10, verbose_name='出库时间')
- department = models.CharField(max_length=10, verbose_name='部门', null=True)
- warehouse = models.CharField(max_length=10, verbose_name='仓库', default='W01')
- creater = models.CharField(max_length=50, verbose_name='创建人', null=True)
- note = models.TextField(blank=True, verbose_name='备注说明', null=True)
- totalCount = models.IntegerField(verbose_name='总条目数')
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
- bound_status = models.IntegerField(default=0, verbose_name='状态')
- is_delete = models.BooleanField(default=False, verbose_name='是否删除')
- class Meta:
- verbose_name = '出库单'
- verbose_name_plural = verbose_name
- ordering = [ 'bound_status','-create_time','-update_time']
- class MaterialDetail(models.Model):
- """物料明细模型"""
- bound_billId = models.ForeignKey(
- InboundBill,
- on_delete=models.CASCADE,
- related_name='bill_id',
- verbose_name='所属入库单'
- )
- entryIds = models.IntegerField(verbose_name='分录ID')
- production_batch = models.CharField(max_length=50, verbose_name='生产批次')
- goods_code = models.CharField(max_length=20, verbose_name='商品编码')
- goods_name = models.CharField(max_length=100, verbose_name='商品名称')
- goods_std = models.CharField(max_length=50, verbose_name='商品规格')
- goods_weight = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='单件重量', default=1)
- plan_qty = models.IntegerField(verbose_name='计划数量')
- goods_total_weight = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='总重量', null=True)
- goods_unit = models.CharField(max_length=20, verbose_name='计量单位')
- note = models.TextField(blank=True, verbose_name='备注')
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
- is_delete = models.BooleanField(default=False, verbose_name='是否删除')
- class Meta:
- verbose_name = '物料明细'
- verbose_name_plural = verbose_name
- unique_together = [('bound_billId', 'entryIds')]
- ordering = ['-update_time', '-create_time']
- class OutMaterialDetail(models.Model):
- """物料明细模型"""
- bound_billId = models.ForeignKey(
- OutboundBill,
- on_delete=models.CASCADE,
- related_name='bill_id',
- verbose_name='所属出库单'
- )
- Material_entryIds = models.ForeignKey(
- MaterialDetail,
- on_delete=models.CASCADE,
- related_name='entry_Ids',
- verbose_name='所属入库单详细',
- null=True,
- blank=True
- )
- entryIds = models.IntegerField(verbose_name='分录ID')
- production_batch = models.CharField(max_length=50, verbose_name='生产批次')
- goods_code = models.CharField(max_length=20, verbose_name='商品编码')
- goods_name = models.CharField(max_length=100, verbose_name='商品名称')
- goods_weight = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='单件重量', default=1)
- goods_out_qty = models.IntegerField(verbose_name='计划数量')
- goods_total_weight = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='总重量', null=True)
- goods_unit = models.CharField(max_length=20, verbose_name='计量单位')
- note = models.TextField(blank=True, verbose_name='备注')
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
- is_delete = models.BooleanField(default=False, verbose_name='是否删除')
- class Meta:
- verbose_name = '出库物料明细'
- verbose_name_plural = verbose_name
- ordering = ['-update_time', '-create_time']
|