diff --git a/app/Controllers/PayoutController.php b/app/Controllers/PayoutController.php index 29e8b555..90d501dc 100644 --- a/app/Controllers/PayoutController.php +++ b/app/Controllers/PayoutController.php @@ -51,12 +51,14 @@ class PayoutController extends BaseController $data = $this->request->getPost(); // print_r($data); die; - $agent_id = $data['agent_id'] ?? null; + // $agent_id = $data['agent_id'] ?? null; because dropdown hided + $pos_id = $data['pos_id'] ?? null; $status_id = $data['status_id'] ?? null; $start_date = $data['start_date'] ?? null; $end_date = $data['end_date'] ?? null; - $payout_data = $this->invoiceModel->invoiceList($agent_id, $status_id, $start_date, $end_date); + // $payout_data = $this->invoiceModel->invoiceList($agent_id, $status_id, $start_date, $end_date); // because dropdown hided + $payout_data = $this->invoiceModel->invoiceList($pos_id, $status_id, $start_date, $end_date); $payout_data['payout_list_data'] = $payout_data; $payout_data = view('payout_list', $payout_data); @@ -86,7 +88,8 @@ class PayoutController extends BaseController // for list $data['payout_status'] = $this->payout_status; - $data['agent_list'] = $this->invoiceModel->agentList(); + // $data['agent_list'] = $this->invoiceModel->agentList(); // because dropdown hided + $data['pos_list'] = $this->invoiceModel->posList(); $data['page_name'] = "Invoices"; $payout_data['payout_list_data'] = $this->invoiceModel->invoiceList(); $data['payout_list'] = view('payout_list', $payout_data); @@ -204,8 +207,9 @@ class PayoutController extends BaseController $title = $type === 'add' ? 'Add Payouts' : ($type === 'edit' ? 'Edit Payouts' + : ($type === 'view' ? 'View Payouts' : ($type === 'adjustment' ? 'Payouts Adjustment' - : 'Payouts')); + : 'Payouts'))); $data['tab_name'] = $title; $data['page_name'] = $title; @@ -215,10 +219,12 @@ class PayoutController extends BaseController if($type == 'add') { $data['agents'] = $this->invoiceModel->agentList(['is_active' => 1]); // common both add and edit + $data['pos_list'] = $this->invoiceModel->posList(['is_active' => 1]); // common both add and edit } else { $data['agents'] = $this->invoiceModel->agentList(); // common both add and edit + $data['pos_list'] = $this->invoiceModel->posList(); // common both add and edit } // $data['checked_policy_numbers'] = []; // $data['invoice'] = []; @@ -236,16 +242,21 @@ class PayoutController extends BaseController return $this->loadLayout('invoice_policy_mapping_add', $data); } - if (($type === 'edit' || $type === 'adjustment') && !empty($id)) { + if (($type === 'edit' || $type === 'view' || $type === 'adjustment') && !empty($id)) { $invoice = $this->invoiceModel->where('id', $id)->first(); + // print_r($invoice);die; $data['freeze_edit'] = $this->auditHistory->where('table_name', 'partner_invoice')->where('pk', $id)->countAllResults(); - + if($type === 'view'){ $data['freeze_edit'] = 1; } - $agentId = $invoice['agent_id'] ?? null; + // $agentId = $invoice['agent_id'] ?? null; + $posId = $invoice['pos_id'] ?? null; - $data['payouts'] = $this->invoiceModel->payoutList(2 ,$agentId,$id); - $data['extra_payouts'] = $agentId ? $this->invoiceModel->payoutList(3, $agentId) : []; + // $data['payouts'] = $this->invoiceModel->payoutList(2 ,$agentId,$id); + // $data['extra_payouts'] = $agentId ? $this->invoiceModel->payoutList(3, $agentId) : []; + $data['payouts'] = $this->invoiceModel->payoutList(2 ,$posId,$id); + // print_r($data['payouts']);die; + $data['extra_payouts'] = $posId ? $this->invoiceModel->payoutList(3, $posId) : []; $invoice_items = $this->invoiceItemModel->where('invoice_id', $id)->findAll(); @@ -518,6 +529,7 @@ class PayoutController extends BaseController // Get invoice data from database $invoiceData = $this->getInvoiceData($invoiceId); + // print_r($invoiceData);die; if (empty($invoiceData)) { return $this->respond([ @@ -591,6 +603,27 @@ class PayoutController extends BaseController } + // private function getInvoiceData($invoiceId) + // { + // $invoice_data = $this->invoiceModel + // ->select(' + // partner_invoice.*, + // pa.name as agent_name, + // pa.email as agent_email, + // pa.mobile as agent_mobile, + // pa.address as agent_address, + // pa.agent_code, + // pa.certificate_file_name, + // pa.commission_retain + // ') + // ->join('partner_agent pa', 'partner_invoice.agent_id = pa.id') + // ->where('partner_invoice.is_active', 1) + // ->where('partner_invoice.id', $invoiceId) + // ->first(); + + // return $invoice_data; + // } + private function getInvoiceData($invoiceId) { $invoice_data = $this->invoiceModel @@ -604,9 +637,20 @@ class PayoutController extends BaseController pa.address as agent_address, pa.agent_code, pa.certificate_file_name, - pa.commission_retain + pa.commission_retain, + pos.name as pos_name, + pos.email as pos_email, + pos.mobile as pos_mobile, + pos.address as pos_address, + pos.city as pos_city, + pos.pincode as pos_pincode, + pos.state as pos_state, + pos.pos_code, + pos.certificate_file_name as pos_certificate_file_name, + pos.bank_name,pos.account_holder_name,pos.account_number,pos.ifsc_code, ') - ->join('partner_agent pa', 'partner_invoice.agent_id = pa.id') + ->join('partner_agent pa', 'partner_invoice.agent_id = pa.id','left') + ->join('partner_pos pos', 'partner_invoice.pos_id = pos.id') ->where('partner_invoice.is_active', 1) ->where('partner_invoice.id', $invoiceId) ->first(); diff --git a/app/Models/InvoiceModel.php b/app/Models/InvoiceModel.php index bebd0022..a2e241dc 100644 --- a/app/Models/InvoiceModel.php +++ b/app/Models/InvoiceModel.php @@ -75,8 +75,8 @@ class InvoiceModel extends Model return $data; } - - public function invoiceList($agent_id = null, $status_id = null, $start_date = null, $end_date = null) + // public function invoiceList($agent_id = null, $status_id = null, $start_date = null, $end_date = null) because dropdown hided + public function invoiceList($pos_id = null, $status_id = null, $start_date = null, $end_date = null) { $data = $this->select(" partner_invoice.*, @@ -105,14 +105,21 @@ class InvoiceModel extends Model WHEN payout_status = 2 THEN 'Completed' END AS status_text, - partner_agent.name as agent_name + partner_agent.name as agent_name, + partner_pos.name as pos_name + ") - ->join('partner_agent', 'partner_invoice.agent_id = partner_agent.id') + ->join('partner_agent', 'partner_invoice.agent_id = partner_agent.id','left') + ->join('partner_pos', 'partner_invoice.pos_id = partner_pos.id') ->where('partner_invoice.is_active', 1) ->where('partner_invoice.broker_id', 1); - if(!empty($agent_id)){ - $data->where('partner_invoice.agent_id', $agent_id); + // if(!empty($agent_id)){ + // $data->where('partner_invoice.agent_id', $agent_id); + // } // because dropdown hided + + if(!empty($pos_id)){ + $data->where('partner_invoice.pos_id', $pos_id); } if(!empty($status_id)){ @@ -128,7 +135,8 @@ class InvoiceModel extends Model ->where('partner_invoice.invoice_date <=', $endDate); } - if(!empty($agent_id) && !empty($status_id) && !empty($start_date) && !empty($end_date)){ + // if(!empty($agent_id) && !empty($status_id) && !empty($start_date) && !empty($end_date)){ + if(!empty($pos_id) && !empty($status_id) && !empty($start_date) && !empty($end_date)){ $fromDate = date('Y-m-d', strtotime('-60 days')); $toDate = date('Y-m-d 23:59:59'); @@ -153,6 +161,21 @@ class InvoiceModel extends Model return $this->db->table('partner_agent')->get()->getResultArray(); } + public function posList(array $params = []) + { + $builder = $this->db->table('partner_pos') + ->select('partner_pos.*, partner_staff.name AS manager_name') + ->join('partner_staff', 'partner_staff.id = partner_pos.manager_id', 'left') + ->orderBy('partner_pos.id', 'DESC'); + + if (isset($params['is_active'])) { + $builder->where('partner_pos.is_active', $params['is_active']); + } + + return $builder->get()->getResultArray(); + } + + public function utrSummary($invoice_id) { $data = $this->select(" @@ -194,7 +217,7 @@ class InvoiceModel extends Model } - public function payoutList($flag, $agentId = null, $invoiceId = null) + public function payoutList($flag, $posId = null, $invoiceId = null) { $builder = $this->db->table('policy_transaction pt') ->select(' @@ -210,13 +233,15 @@ class InvoiceModel extends Model pii.commission_amount as paid_amount, pi.payout_status, pp.id as partner_policy_id, - pp.policy_transaction_id + pp.policy_transaction_id, + pt.pos_id as posId ') ->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 AND pt.id = pp.policy_transaction_id') ->where('pt.is_active',1) - ->where('pt.agent_id IS NOT NULL'); + ->where('pt.pos_id IS NOT NULL'); + // ->where('pt.agent_id IS NOT NULL'); if ($flag == 1) { // Add mode // EXCLUDE all policies that exist in partner_invoice_items @@ -230,16 +255,22 @@ class InvoiceModel extends Model if ($invoiceId) { $builder->where('pi.id', $invoiceId); // only policies of this invoice } - if ($agentId) { - $builder->where('pt.agent_id', $agentId); + // if ($agentId) { + // $builder->where('pt.agent_id', $agentId); + // } + if ($posId) { + $builder->where('pt.pos_id', $posId); } } if ($flag == 3) { // Extra policies // Policies not assigned to any invoice $builder->where('pii.id IS NULL', null, false); - if ($agentId) { - $builder->where('pt.agent_id', $agentId); + // if ($agentId) { + // $builder->where('pt.agent_id', $agentId); + // } + if ($posId) { + $builder->where('pt.pos_id', $posId); } } diff --git a/app/Views/invoice_policy_mapping.php b/app/Views/invoice_policy_mapping.php index 3491db49..c103ec1d 100644 --- a/app/Views/invoice_policy_mapping.php +++ b/app/Views/invoice_policy_mapping.php @@ -98,7 +98,7 @@ table.dataTable tbody td { padding: 4px 4px !important; } -
| = $pos_name ?> | +|||||||
| = $address ?> | +|||||||
| Bill To: | Invoice No | @@ -144,11 +180,18 @@ Amount Payable in words : = isset($invoice_no) && !empty($invoice_amount) ? numberToWords((int)$invoice_amount) . ' Only' : "-" ?> -UTR Total Amount | Balance | Status | -Agent | + +POS | Action | = format_indian_number($row['total_utr_amount']) ?> | = format_indian_number($row['balance_amount']) ?> | = $row['status_text'] ?> | -= $row['agent_name'] ?? " - " ?> | + += $row['pos_name'] ?? " - " ?> | diff --git a/app/Views/payout_list_handler.php b/app/Views/payout_list_handler.php index 329645bd..270ced48 100644 --- a/app/Views/payout_list_handler.php +++ b/app/Views/payout_list_handler.php @@ -14,7 +14,7 @@ |
|---|---|---|---|---|---|---|---|