|
@@ -55,6 +55,11 @@ class BoundBatchModel(models.Model):
|
|
(6, '已出库'),
|
|
(6, '已出库'),
|
|
|
|
|
|
)
|
|
)
|
|
|
|
+ CHECK_STATUS=(
|
|
|
|
+ (0, '未质检'),
|
|
|
|
+ (1, '已质检'),
|
|
|
|
+ (2, '质检不合格'),
|
|
|
|
+ )
|
|
|
|
|
|
bound_number = models.CharField(max_length=255, verbose_name="入库批次号",blank=False, null=False, unique=True)
|
|
bound_number = models.CharField(max_length=255, verbose_name="入库批次号",blank=False, null=False, unique=True)
|
|
sourced_number = models.CharField(max_length=255, verbose_name="来源批次号",blank=True, null=True)
|
|
sourced_number = models.CharField(max_length=255, verbose_name="来源批次号",blank=True, null=True)
|
|
@@ -87,6 +92,11 @@ class BoundBatchModel(models.Model):
|
|
update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="Update Time")
|
|
update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="Update Time")
|
|
relate_material = models.ForeignKey(MaterialDetail, on_delete=models.CASCADE, verbose_name="关联物料", related_name='bound_batch',null=True, blank=True)
|
|
relate_material = models.ForeignKey(MaterialDetail, on_delete=models.CASCADE, verbose_name="关联物料", related_name='bound_batch',null=True, blank=True)
|
|
|
|
|
|
|
|
+ check_status = models.IntegerField(choices=CHECK_STATUS, default=0, verbose_name='质检状态')
|
|
|
|
+ check_user = models.CharField(default='', max_length=255, verbose_name="质检人")
|
|
|
|
+ check_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="质检时间")
|
|
|
|
+
|
|
|
|
+
|
|
class Meta:
|
|
class Meta:
|
|
db_table = 'boundbatch'
|
|
db_table = 'boundbatch'
|
|
verbose_name = 'Bound Batch'
|
|
verbose_name = 'Bound Batch'
|
|
@@ -128,7 +138,7 @@ class MaterialStatistics(models.Model):
|
|
goods_desc = models.CharField(max_length=255, verbose_name="商品描述")
|
|
goods_desc = models.CharField(max_length=255, verbose_name="商品描述")
|
|
goods_std = models.CharField(default='待填写', max_length=255, verbose_name="商品标准", blank=True, null=True)
|
|
goods_std = models.CharField(default='待填写', max_length=255, verbose_name="商品标准", blank=True, null=True)
|
|
goods_unit = models.CharField(default='待填写', max_length=255, verbose_name="商品单位")
|
|
goods_unit = models.CharField(default='待填写', max_length=255, verbose_name="商品单位")
|
|
- total_quantity = models.BigIntegerField(default=0, verbose_name="计划数量")
|
|
|
|
|
|
+ total_quantity = models.BigIntegerField(default=0, verbose_name="在库数量")
|
|
total_demanded_quantity = models.BigIntegerField(default=0, verbose_name="需求数量")
|
|
total_demanded_quantity = models.BigIntegerField(default=0, verbose_name="需求数量")
|
|
|
|
|
|
def __str__(self):
|
|
def __str__(self):
|
|
@@ -168,6 +178,10 @@ def update_material_statistics(sender, instance, **kwargs):
|
|
total = BoundBatchModel.objects.filter(goods_code=goods_code).aggregate(
|
|
total = BoundBatchModel.objects.filter(goods_code=goods_code).aggregate(
|
|
total=Sum('goods_in_location_qty')
|
|
total=Sum('goods_in_location_qty')
|
|
)['total'] or 0
|
|
)['total'] or 0
|
|
|
|
+ # 更新物料统计的出库数目
|
|
|
|
+ total_out = BoundBatchModel.objects.filter(goods_code=goods_code).aggregate(
|
|
|
|
+ total_out=Sum('goods_out_qty')
|
|
|
|
+ )['total_out'] or 0
|
|
stats.total_quantity = total
|
|
stats.total_quantity = total
|
|
stats.save()
|
|
stats.save()
|
|
|
|
|