related quotas
This commit is contained in:
@@ -84,25 +84,35 @@ def update_product_stats(instance: Product, distribution: QuotaDistribution = No
|
||||
)
|
||||
|
||||
# number of quotas
|
||||
quotas_count = instance.quotas.filter(is_closed=False, registerer_organization=organization) # noqa
|
||||
|
||||
total_quotas_weight = quotas_count.aggregate( # noqa
|
||||
quota = Quota.objects.filter(
|
||||
Q(
|
||||
distributions_assigned__in=QuotaDistribution.objects.filter(
|
||||
Q(assigned_organization=organization) |
|
||||
Q(assigner_organization=organization)
|
||||
)
|
||||
) |
|
||||
Q(registerer_organization=organization),
|
||||
product=instance
|
||||
).distinct()
|
||||
|
||||
quotas_count = quota.count() # noqa
|
||||
|
||||
total_quotas_weight = quota.aggregate( # noqa
|
||||
total=models.Sum('quota_weight')
|
||||
)['total'] or 0
|
||||
|
||||
quotas_count = quotas_count.count()
|
||||
|
||||
# total weight of product that assigned in quota
|
||||
active_quotas_weight = instance.quotas.filter(is_closed=False, registerer_organization=organization).aggregate(
|
||||
active_quotas_weight = quota.filter(is_closed=False).aggregate(
|
||||
total=models.Sum('quota_weight')
|
||||
)['total'] or 0
|
||||
|
||||
closed_quotas_weight = instance.quotas.filter(is_closed=True, registerer_organization=organization).aggregate( # noqa
|
||||
closed_quotas_weight = quota.filter(is_closed=True).aggregate( # noqa
|
||||
total=models.Sum('quota_weight')
|
||||
)['total'] or 0
|
||||
|
||||
# total remaining weight of product quotas
|
||||
total_remaining_quotas_weight = instance.quotas.filter(is_closed=False).aggregate( # noqa
|
||||
total_remaining_quotas_weight = quota.filter(is_closed=False).aggregate( # noqa
|
||||
total=models.Sum('remaining_weight')
|
||||
)['total'] or 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user