fix - change transaction base from distribution to quota stat
This commit is contained in:
@@ -24,32 +24,34 @@ def warehouse_sold_and_balance(quota_distribution: QuotaDistribution):
|
||||
|
||||
quota_distribution.been_sold = total_sold
|
||||
quota_distribution.warehouse_balance = quota_distribution.warehouse_entry - total_sold
|
||||
if quota_distribution.warehouse_balance >= 0:
|
||||
# if quota_distribution.warehouse_balance >= 0:
|
||||
#
|
||||
# # calculate extra sales & mines total extra sales weight from new inventory entry
|
||||
# # and set the warehouse balance
|
||||
# extra_sales = quota_distribution.extra_sales.all()
|
||||
# total_extra_sales_weight = extra_sales.aggregate(total=Sum('weight'))['total'] or 0
|
||||
# if quota_distribution.free_sale_balance != 0:
|
||||
# if quota_distribution.warehouse_balance >= quota_distribution.free_sale_balance:
|
||||
# quota_distribution.warehouse_balance -= total_extra_sales_weight
|
||||
# quota_distribution.free_sale_balance = 0
|
||||
# else:
|
||||
# quota_distribution.free_sale_balance -= quota_distribution.warehouse_balance
|
||||
# quota_distribution.warehouse_balance = 0
|
||||
#
|
||||
# # calculate pre_sales & mines total pre_sales weight from new inventory entry
|
||||
# # and set the warehouse balance
|
||||
# pre_sales = quota_distribution.pre_sales.all()
|
||||
# total_pre_sales_weight = pre_sales.aggregate(total=Sum('weight'))['total'] or 0
|
||||
# if total_pre_sales_weight != 0:
|
||||
# if quota_distribution.warehouse_balance >= quota_distribution.pre_sale_balance:
|
||||
# quota_distribution.warehouse_balance -= total_pre_sales_weight
|
||||
# quota_distribution.pre_sale_balance = 0
|
||||
# else:
|
||||
# quota_distribution.pre_sale_balance -= quota_distribution.warehouse_balance
|
||||
# quota_distribution.warehouse_balance = 0
|
||||
|
||||
# calculate extra sales & mines total extra sales weight from new inventory entry
|
||||
# and set the warehouse balance
|
||||
extra_sales = quota_distribution.extra_sales.all()
|
||||
total_extra_sales_weight = extra_sales.aggregate(total=Sum('weight'))['total'] or 0
|
||||
if quota_distribution.free_sale_balance != 0:
|
||||
if quota_distribution.warehouse_balance >= quota_distribution.free_sale_balance:
|
||||
quota_distribution.warehouse_balance -= total_extra_sales_weight
|
||||
quota_distribution.free_sale_balance = 0
|
||||
else:
|
||||
quota_distribution.free_sale_balance -= quota_distribution.warehouse_balance
|
||||
quota_distribution.warehouse_balance = 0
|
||||
|
||||
# calculate pre_sales & mines total pre_sales weight from new inventory entry
|
||||
# and set the warehouse balance
|
||||
pre_sales = quota_distribution.pre_sales.all()
|
||||
total_pre_sales_weight = pre_sales.aggregate(total=Sum('weight'))['total'] or 0
|
||||
if total_pre_sales_weight != 0:
|
||||
if quota_distribution.warehouse_balance >= quota_distribution.pre_sale_balance:
|
||||
quota_distribution.warehouse_balance -= total_pre_sales_weight
|
||||
quota_distribution.pre_sale_balance = 0
|
||||
else:
|
||||
quota_distribution.pre_sale_balance -= quota_distribution.warehouse_balance
|
||||
quota_distribution.warehouse_balance = 0
|
||||
quota_distribution.save(update_fields=['been_sold', 'warehouse_balance', 'free_sale_balance', 'pre_sale_balance'])
|
||||
# 'free_sale_balance', 'pre_sale_balance'
|
||||
quota_distribution.save(update_fields=['been_sold', 'warehouse_balance'])
|
||||
|
||||
|
||||
@receiver(post_init, sender=InventoryEntry)
|
||||
|
||||
Reference in New Issue
Block a user