diff --git a/app/Controllers/PayoutController.php b/app/Controllers/PayoutController.php index e2479e42..f00ec448 100644 --- a/app/Controllers/PayoutController.php +++ b/app/Controllers/PayoutController.php @@ -221,6 +221,8 @@ class PayoutController extends BaseController if ($type === 'add') { // $invoiceNo = $this->generateInvoiceNumber(); $data['payouts'] = $this->invoiceModel->payoutList(1); + // print_rr($data['payouts']);die(); + // print_rr($this->invoiceModel->getLastQuery());die(); // $data['invoice_number'] = $invoiceNo; return $this->loadLayout('invoice_policy_mapping_add', $data); } @@ -260,6 +262,7 @@ class PayoutController extends BaseController public function saveInvoice() { $json = $this->request->getJSON(true); + // print_rr($json);die(); if (!$json) { return $this->response->setJSON(['error' => 'Invalid JSON','message' => 'Invalid JSON received.'])->setStatusCode(400); @@ -293,7 +296,7 @@ class PayoutController extends BaseController foreach ($json['policies'] as $p) { $this->invoiceItemModel->insert([ 'invoice_id' => $invoiceId, - 'policy_id' => $p['policy_id'], + 'policy_id' => $p['partner_policy_id'], 'policy_no' => $p['policy_no'], 'commission_amount' => $p['commission_amount'], 'is_active' => 1 diff --git a/app/Models/InvoiceModel.php b/app/Models/InvoiceModel.php index d1c312f4..80a47e69 100644 --- a/app/Models/InvoiceModel.php +++ b/app/Models/InvoiceModel.php @@ -203,17 +203,19 @@ class InvoiceModel extends Model DATE_FORMAT(pp.issued_date, "%d/%m/%Y") AS date, pii.id AS invoiceItemId, pii.commission_amount as paid_amount, - pi.payout_status + pi.payout_status, + pp.id as partner_policy_id, + pp.policy_transaction_id ') ->join('partner_invoice_items pii','pii.policy_no = pt.policy_no','left') ->join('partner_invoice pi','pi.id = pii.invoice_id','left') - ->join('partner_policy pp','pt.policy_no = pp.policy_number AND pt.agent_id = pp.agent_id','left') + ->join('partner_policy pp','pt.policy_no = pp.policy_number AND pt.agent_id = pp.agent_id AND pt.id = pp.policy_transaction_id') ->where('pt.is_active',1) - ->where('pt.agent_id IS NOT NULL', null, false); + ->where('pt.agent_id IS NOT NULL'); if ($flag == 1) { // Add mode // EXCLUDE all policies that exist in partner_invoice_items - $builder->where("pt.policy_no NOT IN (SELECT policy_no FROM partner_invoice_items)", null, false); + $builder->where("pt.id NOT IN (SELECT policy_id FROM partner_invoice_items)", null, false); } if ($flag == 2) { // Edit mode diff --git a/app/Views/invoice_policy_mapping.php b/app/Views/invoice_policy_mapping.php index 870bcd66..3741d1d8 100644 --- a/app/Views/invoice_policy_mapping.php +++ b/app/Views/invoice_policy_mapping.php @@ -673,7 +673,8 @@ table.dataTable tbody td { padding: 4px 4px !important; } return { policy_id: p.id, policy_no: p.policyNo, - commission_amount: finalAmount + commission_amount: finalAmount, + partner_policy_id : p.partner_policy_id }; }); diff --git a/app/Views/invoice_policy_mapping_add.php b/app/Views/invoice_policy_mapping_add.php index ee5a23f2..6a604ebf 100755 --- a/app/Views/invoice_policy_mapping_add.php +++ b/app/Views/invoice_policy_mapping_add.php @@ -496,6 +496,8 @@ table.dataTable tbody td { padding: 4px 4px !important; } const selectedPolicyData = filteredPolicies.filter(p => selectedPolicies.has(String(p.id))); + console.log('selectedPolicyData'); + console.log(selectedPolicyData); let totalAmount = 0; const policies = selectedPolicyData.map(p => { @@ -504,7 +506,8 @@ table.dataTable tbody td { padding: 4px 4px !important; } return { policy_id: p.id, policy_no: p.policyNo, - commission_amount: finalAmount + commission_amount: finalAmount, + partner_policy_id : p.partner_policy_id }; });