commission list

This commit is contained in:
Gowtham M 2025-12-18 15:20:28 +05:30
parent e6151a8a82
commit c75e855836
2 changed files with 39 additions and 7 deletions

View File

@ -93,9 +93,11 @@ class PolicyController extends ResourceController
try {
$id = $this->request->getGet('id');
$record = $this->PolicyModel->select('partner_policy.* , ipti.insurance_plan_type,pq.insurer_id')
$record = $this->PolicyModel->select('partner_policy.* , ipti.insurance_plan_type,pq.insurer_id,,A.retention_rate as agent_retention_rate,S.retention_rate as manager_retention_rate')
->join('partner_quotation pq', 'pq.id = partner_policy.quotation_id', 'left')
->join('partner_insurance_plan_type_master ipti', 'ipti.id = pq.insurance_plan_type_id', 'left')
->join('partner_agent A', 'A.id = partner_policy.agent_id', 'left')
->join('partner_staff S', 'S.id = partner_policy.manager_id', 'left')
->find($id);
$record['issued_date'] = format_date_for_client($record['issued_date']);
@ -851,13 +853,15 @@ class PolicyController extends ResourceController
{
log_message('debug', 'calculateCommission() started with policyId: ' . $policyId);
$record = $this->PolicyModel->select('partner_policy.* , rto_state.rto_state_name as rto_state_code , ,pe.insurer_id , VT.vehicle_type as vehicle_type_master , ipti.insurance_plan_type,')
$record = $this->PolicyModel->select('partner_policy.* , rto_state.rto_state_name as rto_state_code ,pe.insurer_id , VT.vehicle_type as vehicle_type_master , ipti.insurance_plan_type,A.retention_rate as agent_retention_rate,S.retention_rate as manager_retention_rate')
->join('partner_enquiry pe', 'pe.id = partner_policy.enquiry_id', 'left')
->join('vehicle_type VT', 'VT.id = pe.vehicle_type_id', 'left')
->join('partner_quotation pq', 'pq.id = partner_policy.quotation_id', 'left')
->join('partner_insurance_plan_type_master ipti', 'ipti.id = pq.insurance_plan_type_id', 'left')
->join('rto_master rto_state', 'rto_state.rto_state = partner_policy.rto_state_code', 'left')
// ->join('rto_master rto_city', 'rto_city.rto_code = partner_policy.rto_city_code', 'left')
->join('partner_agent A', 'A.id = partner_policy.agent_id', 'left')
->join('partner_staff S', 'S.id = partner_policy.manager_id', 'left')
->where('partner_policy.id', $policyId)
->first();
@ -941,12 +945,25 @@ class PolicyController extends ResourceController
if (!empty($result) && isset($result['success']) && $result['success'] === true) {
$actualCommission = $result['data']['payout'];
$agentRetention = $record['agent_retention_rate'];
$managerRetention = $record['manager_retention_rate'];
$commissionDeduction = $actualCommission * ($agentRetention+$managerRetention) / 100;
$commission = $actualCommission - $commissionDeduction;
// Safely extract values
$policyData = [
'commission_amount' => $result['data']['payout'] ?? null,
'commission_applied_rule' => $result['data']['rule']['id'] ?? null,
'commission_from_insurer' => $result['data']['payout'] ?? null,
'agent_retention_rate' => $agentRetention,
'manager_retention_rate' => $managerRetention,
'commission_amount' => $commission,
'commission_applied_rule' => $result['data']['rule']['id'] ?? null,
];
log_message('debug', 'Updating Policy (ID=75) With: ' . json_encode($policyData));
if($return == true)
@ -1113,12 +1130,23 @@ class PolicyController extends ResourceController
if (!empty($result) && isset($result['success']) && $result['success'] === true) {
$actualCommission = $result['data']['payout'];
$agentRetention = $postRequest['agent_retention_rate'];
$managerRetention = $postRequest['manager_retention_rate'];
$commissionDeduction = $actualCommission * ($agentRetention+$managerRetention) / 100;
$commission = $actualCommission - $commissionDeduction;
// Safely extract values
$policyData = [
'commission_amount' => $result['data']['payout'] ?? null,
'commission_applied_rule' => $result['data']['rule']['id'] ?? null,
'commission_from_insurer' => $result['data']['payout'] ?? null,
'agent_retention_rate' => $agentRetention,
'manager_retention_rate' => $managerRetention,
'commission_amount' => $commission,
'commission_applied_rule' => $result['data']['rule']['id'] ?? null,
];
log_message('debug', 'Updating Policy (ID=75) With: ' . json_encode($policyData));
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $policyData ], 200);

View File

@ -52,7 +52,11 @@ class PolicyModel extends Model
'broker_name',
'commission_amount',
'is_data_accuracy_checked',
'pos_id'
'pos_id',
'commission_from_insurer',
'agent_retention_rate',
'manager_retention_rate',
'is_invoice_generated'
];
protected $useTimestamps = false;