diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index dd1a981..ad4c524 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -8,7 +8,7 @@ use App\Models\AgentModel; use App\Models\EnquiryModel; use App\Models\QuotationModel; use App\Models\PolicyModel; - +use DateTime; class EnquiryController extends ResourceController { protected $db; @@ -36,21 +36,40 @@ 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'); + + $from_date = $this->request->getGet('from_date'); + $to_date = $this->request->getGet('to_date'); + $only_policy_data = $this->request->getGet('only_policy_data') ?? false; + + // Date filter handling + if (empty($from_date) || empty($to_date)) { + // Default last 7 days + $from_date = date('Y-m-d 00:00:00', strtotime('-7 days')); + $to_date = date('Y-m-d 23:59:59'); + } else { + // Convert d-m-Y → Y-m-d + $from_date = DateTime::createFromFormat('d-m-Y', $from_date)->format('Y-m-d 00:00:00'); + $to_date = DateTime::createFromFormat('d-m-Y', $to_date)->format('Y-m-d 23:59:59'); + } + if (!empty($agent_id)) { - $data = $this->enquiryModel->getEnquiry('AGENT', $agent_id, $only_policy_data); + $data = $this->enquiryModel->getEnquiry('AGENT', $agent_id, $only_policy_data, $from_date, $to_date); } elseif (!empty($staff_id)) { - $data = $this->enquiryModel->getEnquiry('STAFF', $staff_id, $only_policy_data); + $data = $this->enquiryModel->getEnquiry('STAFF', $staff_id, $only_policy_data, $from_date, $to_date); } elseif (!empty($enquiry_id)) { $data = $this->enquiryModel->getEnquiry('ENQUIRY',$enquiry_id, $only_policy_data); } elseif (!empty($manager_id)) { - $data = $this->enquiryModel->getEnquiry('MANAGER',$manager_id, $only_policy_data); + $data = $this->enquiryModel->getEnquiry('MANAGER',$manager_id, $only_policy_data, $from_date, $to_date); } else { $data = $this->enquiryModel->getEnquiry('ALL'); } + + $from_date = DateTime::createFromFormat('Y-m-d 00:00:00', $from_date)->format('d-m-Y'); + $to_date = DateTime::createFromFormat('Y-m-d 23:59:59', $to_date)->format('d-m-Y'); - return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200); + return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data , 'from_date' => $from_date , 'to_date' => $to_date ], 200); } catch (\Exception $e) { return $this->respond(['status' => 'failed', 'code' => 500, 'error' => $e->getMessage()], 500); diff --git a/app/Models/EnquiryModel.php b/app/Models/EnquiryModel.php index 7fcc05f..41a1487 100644 --- a/app/Models/EnquiryModel.php +++ b/app/Models/EnquiryModel.php @@ -3,7 +3,7 @@ namespace App\Models; use CodeIgniter\Model; - +use DateTime; class EnquiryModel extends Model { protected $table = 'partner_enquiry'; @@ -35,7 +35,7 @@ class EnquiryModel extends Model protected $updatedField = 'updated_on'; - public function getEnquiry($getBy = null , $Id = null , $only_policy_data = false) + public function getEnquiry($getBy = null , $Id = null , $only_policy_data = false, $from_date = null, $to_date = null) { $data = $this->select('partner_enquiry.*, VT.vehicle_type as vehicle_type, @@ -57,8 +57,16 @@ class EnquiryModel extends Model ->where('partner_enquiry.is_active', 1) ->orderBy('partner_enquiry.created_on', 'ASC'); + + if($only_policy_data){ $data->where('P.id IS NOT NULL'); + + $data->where("P.created_on >=", $from_date) + ->where("P.created_on <=", $to_date); + }else{ + $data->where("partner_enquiry.created_on >=", $from_date) + ->where("partner_enquiry.created_on <=", $to_date); }