fix pos sharing information bug in stake holders
This commit is contained in:
@@ -24,9 +24,10 @@ def pos_organizations_sharing_information(
|
|||||||
"broker": item.broker.name if item.broker else None,
|
"broker": item.broker.name if item.broker else None,
|
||||||
"amount": quota.broker_values.filter(
|
"amount": quota.broker_values.filter(
|
||||||
broker=item.broker
|
broker=item.broker
|
||||||
).first().value if quota and item.broker else item.holders_share_amount.filter(
|
).first().value if quota and item.broker else (
|
||||||
quota_distribution=distribution
|
item.holders_share_amount.filter(quota_distribution=distribution).first().share_amount
|
||||||
).first().share_amount
|
if item.holders_share_amount.filter(quota_distribution=distribution).exists() else None
|
||||||
|
)
|
||||||
} for item in stake_holders]
|
} for item in stake_holders]
|
||||||
|
|
||||||
return sharing_information_list
|
return sharing_information_list
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from apps.product.services.services import (
|
|||||||
from apps.pos_device.services.services import pos_organizations_sharing_information
|
from apps.pos_device.services.services import pos_organizations_sharing_information
|
||||||
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer
|
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer
|
||||||
from apps.herd.pos.api.v1.serializers import RancherSerializer
|
from apps.herd.pos.api.v1.serializers import RancherSerializer
|
||||||
|
from apps.product.models import QuotaDistribution, Product
|
||||||
from apps.warehouse import models as warehouse_models
|
from apps.warehouse import models as warehouse_models
|
||||||
from apps.warehouse.exceptions import (
|
from apps.warehouse.exceptions import (
|
||||||
TotalInventorySaleException
|
TotalInventorySaleException
|
||||||
@@ -130,6 +131,12 @@ class InventoryQuotaSaleTransactionSerializer(serializers.ModelSerializer):
|
|||||||
for item_data in items_data:
|
for item_data in items_data:
|
||||||
item = warehouse_models.InventoryQuotaSaleItem.objects.create(
|
item = warehouse_models.InventoryQuotaSaleItem.objects.create(
|
||||||
transaction=transaction,
|
transaction=transaction,
|
||||||
|
quota_distribution=QuotaDistribution.objects.get(
|
||||||
|
id=item_data.pop('quota_distribution')
|
||||||
|
),
|
||||||
|
product=Product.objects.get(
|
||||||
|
id=item_data.pop('product')
|
||||||
|
),
|
||||||
**item_data
|
**item_data
|
||||||
)
|
)
|
||||||
total_price += item.total_price
|
total_price += item.total_price
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from django.db.models import Sum
|
|||||||
from django.db.models.signals import post_save, post_delete
|
from django.db.models.signals import post_save, post_delete
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from apps.product.models import QuotaDistribution
|
from apps.product.models import QuotaDistribution
|
||||||
from .models import InventoryEntry, InventoryQuotaSaleTransaction
|
from .models import InventoryEntry, InventoryQuotaSaleItem
|
||||||
|
|
||||||
|
|
||||||
def calculate_warehouse_entry(quota_distribution):
|
def calculate_warehouse_entry(quota_distribution):
|
||||||
@@ -14,8 +14,8 @@ def calculate_warehouse_entry(quota_distribution):
|
|||||||
quota_distribution.save(update_fields=['warehouse_entry'])
|
quota_distribution.save(update_fields=['warehouse_entry'])
|
||||||
|
|
||||||
|
|
||||||
def warehouse_sold_and_balance(quota_distribution):
|
def warehouse_sold_and_balance(quota_distribution: QuotaDistribution):
|
||||||
total_sold = quota_distribution.inventory_sales.aggregate(
|
total_sold = quota_distribution.sale_items.aggregate(
|
||||||
total=Sum('weight')
|
total=Sum('weight')
|
||||||
)['total'] or 0
|
)['total'] or 0
|
||||||
|
|
||||||
@@ -31,10 +31,12 @@ def update_distribution_warehouse_entry(sender, instance, **kwargs):
|
|||||||
warehouse_sold_and_balance(instance.distribution)
|
warehouse_sold_and_balance(instance.distribution)
|
||||||
|
|
||||||
|
|
||||||
# @receiver(post_save, sender=InventoryQuotaSaleTransaction)
|
@receiver(post_save, sender=InventoryQuotaSaleItem)
|
||||||
# @receiver(post_delete, sender=InventoryQuotaSaleTransaction)
|
@receiver(post_delete, sender=InventoryQuotaSaleItem)
|
||||||
# def update_distribution_warehouse_sold_and_balance(sender, instance, **kwargs):
|
def update_distribution_warehouse_sold_and_balance(sender, instance, **kwargs):
|
||||||
# if instance.quota_distribution:
|
if instance.quota_distribution:
|
||||||
# warehouse_sold_and_balance(instance.quota_distribution)
|
warehouse_sold_and_balance(
|
||||||
# else:
|
quota_distribution=instance.quota_distribution,
|
||||||
# print("quota distribution is null - warehouse app signals")
|
)
|
||||||
|
else:
|
||||||
|
print("quota distribution is null - warehouse app signals")
|
||||||
|
|||||||
Reference in New Issue
Block a user