Files
RasadDam_Backend/apps/pos_device/services/services.py

34 lines
1.4 KiB
Python

from apps.product.models import Quota, QuotaDistribution
from apps.pos_device.models import Device, StakeHolderShareAmount
import typing
def pos_organizations_sharing_information(
device: Device,
quota: Quota = None,
distribution: QuotaDistribution = None
) -> typing.Any:
"""
pos sharing organizations' information,
device have multiple organizations (sub_accounts) for sharing money
"""
stake_holders = device.stake_holders.select_related('broker', 'organization')
sharing_information_list = [{
"organization_name": item.organization.name,
"bank_account": {
"credit_card": item.organization.bank_information.first().card,
"sheba": item.organization.bank_information.first().sheba,
"account": item.organization.bank_information.first().account,
} if item.organization.bank_information.exists() else {},
"broker": item.broker.name if item.broker else None,
"amount": quota.broker_values.filter(
broker=item.broker
).first().value if quota and item.broker else (
item.holders_share_amount.filter(quota_distribution=distribution).first().share_amount
if item.holders_share_amount.filter(quota_distribution=distribution).exists() else None
)
} for item in stake_holders]
return sharing_information_list