diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index f392ab7..14bcae1 100644 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -678,6 +678,7 @@ class DashboardController extends ResourceController $builder = $this->db->table('partner_policy pp'); $builder->select(" pb.name AS broker_name, + pb.short_name AS broker_short_name pb.id AS broker_id, COUNT( CASE diff --git a/app/Controllers/InvoiceController.php b/app/Controllers/InvoiceController.php index 20f9482..636cf78 100644 --- a/app/Controllers/InvoiceController.php +++ b/app/Controllers/InvoiceController.php @@ -35,7 +35,9 @@ class InvoiceController extends ResourceController { try { - $data = $this->InvoiceModel->select('partner_invoice.*, PB.name as broker_name, PA.name as agent_name') + $data = $this->InvoiceModel->select('partner_invoice.*, PB.name as broker_name, PA.name as agent_name, + FORMAT(partner_invoice.invoice_amount, 2, "en_IN") AS invoice_amount_indian_format, + DATE_FORMAT(partner_invoice.invoice_date, "%d-%m-%Y") AS invoice_date_ui_format') ->join('partner_brokers PB', 'PB.id = partner_invoice.broker_id', 'left') ->join('partner_agent PA', 'PA.id = partner_invoice.agent_id', 'left') ->where('partner_invoice.is_active', 1) @@ -204,9 +206,10 @@ class InvoiceController extends ResourceController 'message'=> 'agent_id and issued_date are required' ], 400); } + $invoice_id = isset($input['invoice_id']) ? $input['invoice_id'] : ''; - $data = $this->PolicyModel + $data_previous = $this->PolicyModel ->select('partner_policy.policy_number as policy_no,partner_policy.id as policy_id , partner_policy.issued_date, partner_policy.commission_amount, pe.name as customer_name , pq.premium_amount') ->join( 'partner_enquiry pe', @@ -220,11 +223,34 @@ class InvoiceController extends ResourceController ->where('partner_policy.is_data_accuracy_checked', 1) ->findAll(); + + $query = $this->PolicyModel + ->select('partner_policy.policy_number as policy_no, partner_policy.id as policy_id, partner_policy.issued_date, partner_policy.commission_amount, pe.name as customer_name, pq.premium_amount, pi.id as invoice_id, pi.invoice_no') + ->join( + 'partner_enquiry pe', + 'pe.id = partner_policy.enquiry_id AND pe.broker_id = ' . (int)$input['broker_id'], + 'left' + ) + ->join('partner_quotation pq','pq.id = partner_policy.quotation_id ', 'left') + ->join('partner_invoice_items pii', 'pii.policy_id = partner_policy.id', 'left' ) + ->join('partner_invoice pi', 'pi.id = pii.invoice_id AND pi.is_active = 1', 'left') + ->where('partner_policy.agent_id', $input['agent_id']) + ->where('partner_policy.issued_date <=', date('Y-m-d', strtotime($input['issued_date']))) + ->where('partner_policy.is_active', 1) + ->where('partner_policy.commission_amount > 0') + ->where('partner_policy.is_data_accuracy_checked', 1); + if (empty($invoice_id)) { + $query->where('pii.policy_id IS NULL'); + } else { + $query->where('pi.id', $invoice_id); + } + $data = $query->findAll(); return $this->respond([ 'status' => 'success', 'code' => 200, + 'previous' => $data_previous, 'data' => $data ], 200);