diff --git a/app/Controllers/ThzController.php b/app/Controllers/ThzController.php index 65109dc3..fcf68c4b 100644 --- a/app/Controllers/ThzController.php +++ b/app/Controllers/ThzController.php @@ -10,6 +10,8 @@ use App\Models\ThzMasterModel; use App\Models\ThzMasterNotesModel; use App\ControllerCleaners\ThzControllerCleaner; use App\Models\UserModel; +use App\Models\ClientPolicyModel; + class ThzController extends BaseController { @@ -20,6 +22,7 @@ class ThzController extends BaseController protected $thzControllerCleaner; protected $userModel; + protected $clientPolicyModel; public function __construct() { @@ -27,6 +30,7 @@ class ThzController extends BaseController $this->thzMasterNotesModel = new ThzMasterNotesModel(); $this->thzControllerCleaner = new ThzControllerCleaner(); $this->userModel = new UserModel(); + $this->clientPolicyModel = new ClientPolicyModel(); } public function index() @@ -80,6 +84,7 @@ class ThzController extends BaseController $data['page_name'] = "Ticket List"; $data['ticket_data'] = $tickets; $data['assignee'] = $this->userModel->where('is_active', 1)->whereIn('role', ['1', '5'])->findAll(); // enga 5-"head" and 1-"admin" role person thaan assignee.. + $data['client_list'] = $this->clientModel->getCreatedByUserName(); return $this->loadLayout('thz_list', $data); } @@ -91,7 +96,7 @@ class ThzController extends BaseController public function ticketConversationSave(){ - $data = $this->request->getJSON(true); + $data = $this->request->getPost(); $result = $this->thzMasterNotesModel->insert($data); @@ -107,6 +112,35 @@ class ThzController extends BaseController } + public function ticketAutoFetchDetails(){ + $data = $this->request->getPost(); + + $client_id = $data['client_id']; + $mobile = $data['mobile']; + + if($client_id && $mobile){ + $details = $this->thzMasterModel->ticketAutoFetchDetails($client_id,$mobile); + + if(empty($details)){ + return $this->response->setJSON((['status' => 'error', 'message' => 'No Data found']))->setStatusCode(400); + }else{ + + $policyIds = array_column($details, 'policy_id'); + $policyIds = array_filter($policyIds); + $clientPolicy = $this->clientPolicyModel->whereIn('policy_id', $policyIds)->where('is_active', 1)->get()->getResultArray(); + $result['client'] =[]; + + + } + }else{ + return $this->response->setJSON((['status' => 'error', 'message' => 'Client and Mobile Not found']))->setStatusCode(400); + } + + return $this->response->setJSON((['status' => 'success', 'data' => $result]))->setStatusCode(200); + + + } + public function ticketConversationList(){ $data = $this->request->getGet(); diff --git a/app/Models/ThzMasterModel.php b/app/Models/ThzMasterModel.php index 580c6181..b669a360 100644 --- a/app/Models/ThzMasterModel.php +++ b/app/Models/ThzMasterModel.php @@ -39,4 +39,29 @@ class ThzMasterModel extends Model protected $afterFind = []; protected $beforeDelete = []; protected $afterDelete = []; + + public function ticketAutoFetchDetails(){ + + $autofetch_sql = "SELECT + employees.id,employees.client_id, + employees.client_branch_id as branch_id, + employees.mobile, + employees.emp_code, + employees.name, + employee_polices.client_policy_id as policy_id + FROM employees + LEFT JOIN employee_polices + ON employee_polices.employee_id = employees.id + WHERE employees.emp_status IN ('active','draft','enrolled') + AND employees.is_active = 1 + AND employees.mobile = " . $mobile . " + AND employees.client_id = " . $client_id . " + ORDER BY employees.id DESC"; + + $result = $this->db->query($autofetch_sql)->getResultArray(); + + return $result; + + } + }