27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from apps.pos_device.models import Device
|
|
from apps.product.models import Quota
|
|
import typing
|
|
|
|
|
|
def pos_organizations_sharing_information(device: Device, quota: Quota = None) -> typing.Any:
|
|
"""
|
|
pos sharing organizations' information,
|
|
device have multiple organizations (sub_accounts) for sharing money
|
|
"""
|
|
stake_holders = device.stake_holders.select_related('broker', 'broker_amount', '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.share_amount
|
|
} for item in stake_holders]
|
|
|
|
return sharing_information_list
|