diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index f91fd7a..eaa456d 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -39,6 +39,7 @@ class EnquiryController extends ResourceController $staff_id = $this->request->getGet('staff_id'); $enquiry_id = $this->request->getGet('enquiry_id'); $manager_id = $this->request->getGet('manager_id'); + $handler_id = $this->request->getGet('handler_id'); $from_date = $this->request->getGet('from_date'); $to_date = $this->request->getGet('to_date'); @@ -62,6 +63,9 @@ class EnquiryController extends ResourceController $to_date = DateTime::createFromFormat('d-m-Y', $to_date)->format('Y-m-d 23:59:59'); } + + + if (!empty($staff_id) && !empty($manager_id)) { $data = $this->enquiryModel->getEnquiry('STAFF&MANAGER', [$staff_id,$manager_id], $only_policy_data, $from_date, $to_date, $status ,$enquiry_status); } elseif (!empty($agent_id)) { @@ -72,6 +76,19 @@ class EnquiryController extends ResourceController $data = $this->enquiryModel->getEnquiry('ENQUIRY',$enquiry_id, $only_policy_data); } elseif (!empty($manager_id)) { $data = $this->enquiryModel->getEnquiry('MANAGER',$manager_id, $only_policy_data, $from_date, $to_date, $status ,$enquiry_status); + }elseif (!empty($handler_id)) { + + $staffData = $this->db->table('partner_staff ps') + ->select("ps.id") + ->groupStart() + ->where("JSON_CONTAINS(ps.handler_id, '\"$handler_id\"')") + ->orWhere('ps.id', $handler_id) + ->groupEnd() + ->groupBy('ps.id') + ->get()->getResultArray(); + $staffIds = array_column($staffData, 'id'); + + $data = $this->enquiryModel->getEnquiry('HANDLER',$staffIds, $only_policy_data, $from_date, $to_date, $status ,$enquiry_status); } else { $data = $this->enquiryModel->getEnquiry('ALL'); } diff --git a/app/Controllers/QuotationController.php b/app/Controllers/QuotationController.php index 739cb1b..5b443e0 100644 --- a/app/Controllers/QuotationController.php +++ b/app/Controllers/QuotationController.php @@ -196,7 +196,7 @@ class QuotationController extends ResourceController ->first(); $enqStatus = 'Proposal '.$data['status']; if (!empty($enquiryData)){ - $this->EnquiryModel->update($quotation['enquiry_id'], ['status'=> $enqStatus ]); + $this->EnquiryModel->update($quotation['enquiry_id'], ['status'=> $enqStatus , 'insurer_id' => $quotation['insurer_id'] , 'insurer_branch_id' => $quotation['insurer_branch_id'] ]); if( $newStatus == 'Accepted'){ $this->QuotationModel ->where('enquiry_id', $quotation['enquiry_id']) diff --git a/app/Controllers/StaffController.php b/app/Controllers/StaffController.php index f93aab2..d46adb7 100644 --- a/app/Controllers/StaffController.php +++ b/app/Controllers/StaffController.php @@ -81,7 +81,7 @@ class StaffController extends ResourceController ->join('partner_enquiry pe', 'pe.assigned_to = ps.id AND pe.is_active = 1', 'left') ->where('ps.manager_id', $manager_id) ->groupStart() - ->where('ps.role_id', 3) + ->whereIn('ps.role_id', [2,3]) ->orWhere('ps.id', $manager_id) ->groupEnd() ->where('ps.is_active', 1) @@ -122,9 +122,9 @@ class StaffController extends ResourceController ") ->join('partner_role_master R', 'R.id = ps.role_id', 'left') ->join('partner_enquiry pe', 'pe.assigned_to = ps.id AND pe.is_active = 1', 'left') - ->where("JSON_CONTAINS(ps.handler_id, '\"$handler_id\"')") + ->groupStart() - ->where('ps.role_id', 3) + ->where("JSON_CONTAINS(ps.handler_id, '\"$handler_id\"')") ->orWhere('ps.id', $handler_id) ->groupEnd() ->where('ps.is_active', 1) diff --git a/app/Models/EnquiryModel.php b/app/Models/EnquiryModel.php index be071c5..b4c43bd 100644 --- a/app/Models/EnquiryModel.php +++ b/app/Models/EnquiryModel.php @@ -62,7 +62,7 @@ class EnquiryModel extends Model ->join('partner_agent A', 'A.id = partner_enquiry.agent_id', 'left') ->join('partner_staff S', 'S.id = partner_enquiry.assigned_to', 'left') ->join('partner_quotation Q', 'Q.enquiry_id = partner_enquiry.id AND Q.status = "Accepted" ', 'left') - ->join('insurers I', 'I.id = partner_enquiry.insurer_id', 'left') + ->join('insurers I', 'I.id = Q.insurer_id', 'left') ->join('partner_policy P', 'P.quotation_id = Q.id', 'left') ->join('partner_brokers PB', 'PB.id = partner_enquiry.broker_id', 'left') ->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left') @@ -76,7 +76,12 @@ class EnquiryModel extends Model } if($enquiry_status != null){ - $data->where('partner_enquiry.enquiry_status' , $enquiry_status ); + if($enquiry_status == 'OtherThenCompleted') + { + $data->where('partner_enquiry.enquiry_status !=' , 'Completed' ); + }else{ + $data->where('partner_enquiry.enquiry_status' , $enquiry_status ); + } } @@ -114,6 +119,10 @@ class EnquiryModel extends Model { return $data->where('partner_enquiry.manager_id', $Id)->findAll(); } + else if($getBy == 'HANDLER') + { + return $data->whereIn('partner_enquiry.assigned_to', $Id)->findAll(); + } else if($getBy == 'STAFF&MANAGER') { $staffId = $Id[0];