from typing import List
from datetime import date
[docs]
class FinanceData:
[docs]
class CommissionDetailObject:
TransactionDate: date
CommissionnablePremium: float
CommissionType: str
CommissionAmount: float = 0.0
CommissionRate: float
SplitPercent: float
PolicyNumber: str
AgentName: str
[docs]
@staticmethod
def get_payable_commission_lists(db_connection, start_date, end_date, agent_id) -> List[int]:
sqlquery = """
select td.TransactionDetailId from Finance.TransactionDetail td
join Finance.CommissionTransactionDetail ctd on ctd.TransactionDetailId =td.TransactionDetailId
where PartyId=? and statusId = 1 ;
"""
cursor = db_connection.cursor
cursor.execute(sqlquery, start_date, end_date, agent_id)
data_list = cursor.fetchall() if cursor else None
return data_list
[docs]
@staticmethod
def get_commission_details_by_id(db_connection, agent_id: int) -> CommissionDetailObject:
sqlquery = """
select td.TransactionDetailId from Finance.TransactionDetail td
join Finance.CommissionTransactionDetail ctd on ctd.TransactionDetailId =td.TransactionDetailId
where PartyId=? and statusId = 1 ;
"""
cursor = db_connection.cursor
cursor.execute(sqlquery, agent_id)
data_list = cursor.fetchall() if cursor else None
return data_list