myLogger = \Config\Services::mylogger(); $this->ticketMasterModel = new TicketMasterModel(); $this->ticketType = [1 => "Claim-GMC", 2 => "Claim-GPA", 3 => "EDLI", 4 => "GTLI"]; $this->priorityType = [ 1 => "Low", 2 => "Medium", 3 => "High", 4 => "Urgent", 5 => "Emergency", 6 => "Critical" ]; $this->relationshipType = [ "self" => "Self", "spouse" => "Spouse", "son" => "Son", "daughter" => "Daughter", "father" => "Father", "mother" => "Mother", "father-in-law" => "Father-in-Law", "mother-in-law" => "Mother-in-Law" ]; $this->modeOFIntimate = [ 1 => "In Person", 2 => "Courier", 3 => "Online Mode - Email", 4 => "Online Mode - To TPA" ]; $this->claimType = [ 1 => [ 1 => "Main", 2 => "OPD", 3 => "Pre ReOpen", 4 => "Post ReOpen", ], 2 => [ 1 => "TTD", 2 => "PTD", 3 => "PPD", 4 => "Death", ] ]; $this->ticketMasterModel = new TicketMasterModel(); $this->claimStatus = new TicketClaimStatusModel(); $this->clientModel = new ClientModel(); $this->ticketHistoryModel = new TicketHistoryModel(); } public function ticketList() { if ($this->request->is('get')) { $data['page_name'] = "Claims"; $data['ticket_type'] = $this->ticketType; $data['claim_status'] = $this->claimStatus->select('id,ticket_type,claim_status')->where('is_active',1)->findAll(); $data['client_list'] = $this->clientModel->select('id,client_name')->where('is_active',1)->findAll(); return $this->loadLayout('ticket_search', $data); } else{ $data['ticket_data'] = $this->ticketSearch(); $html = view('ticket_list', $data); return $this->respond(['status' => true, 'html' => $html], 200); } } public function ticketSearch() { $search_data = $this->request->getPost(); // print_r($search_data); $where = []; foreach ($search_data as $search_objects => $key){ if ($key != null && $key != '' && $key!= 0 ){ $where[$search_objects] = $key; } } // print_rr($where); $data = $this->ticketMasterModel ->select('ticket_master.id, ticket_claim_status.claim_status as status, ticket_master.claim_number as claim_no,ticket_master.tpa_id,ticket_master.emp_name, insurers.name as insurer_name, clients.client_name, DATE_FORMAT(ticket_master.created_at, "%d-%m-%Y") as tat') ->join('insurers','insurers.id = ticket_master.insurer_id and insurers.is_active = 1','left') ->join('clients','clients.id = ticket_master.client_id and clients.is_active = 1','left') ->join('ticket_claim_status','ticket_claim_status.id = ticket_master.claim_status_id and ticket_claim_status.is_active = 1','left') ->where('ticket_master.is_active',1) ->where($where) ->findAll(); // print_rr($data); // log_message('error',' Claims Master Data '.json_encode($data));die(); // print_rr($data);die(); return $data; } public function ticket_form($ticket_type) { $data['ticket_form'] = 1; $data['ticket_type'] = $this->ticketType; $data['priorityType'] = $this->priorityType; $data['relationshipType'] = $this->relationshipType; $data['modeOFIntimate'] = $this->modeOFIntimate; $data['acms'] = db_connect()->table('user_profiles') ->select('user_profiles.id, user_profiles.first_name') ->where('user_profiles.is_active', 1) ->where('user_profiles.role', 3) ->get() ->getResultArray(); $data['claim_status'] = db_connect()->table('ticket_claim_status') ->select('ticket_claim_status.*') ->where('ticket_claim_status.is_active', 1) ->where('ticket_claim_status.ticket_type', $ticket_type) ->get() ->getResultArray(); if($ticket_type == 1){ $data['modeOFIntimate'] = $this->claimType[1]; return $this->loadLayout('ticket_form_handler', $data); }else{ $data['modeOFIntimate'] = $this->claimType[2]; if($ticket_type == 2){ $data['ticket_form'] = 'GPA'; }else if($ticket_type = 3){ $data['ticket_form'] == 'EDLI'; }else if($ticket_type = 4){ $data['ticket_form'] = 'GTLI'; } return $this->loadLayout('ticket_form_handler', $data); } } public function view_ticket($ticket_id) { $data = []; return $this->loadLayout('ticket_edit_onbording', $data); } public function createTicket() { $ticket_data = $this->request->getPost(); // print_rr($ticket_data); die; if(empty($ticket_data['doa'])){ $ticket_data['doa'] = null; }else{ $ticket_data['doa'] = change_date_format($ticket_data['doa']); } if(empty($ticket_data['dod'])){ $ticket_data['dod'] = null; }else{ $ticket_data['dod'] = change_date_format($ticket_data['dod']); } // print_rr($ticket_data); die; if($ticket_data){ $return_value = $this->ticketMasterModel->insert($ticket_data); if($return_value){ return $this->respond(['status' => true, 'code' => 200, 'data' => $ticket_data, "message" => "Claim created successfully"], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to create claim'], 200); } }else{ return $this->respond(['status' => false, 'code' => 404, 'message' => 'claim data not found'], 200); } } public function updateTicket() { } public function createMailTemplate() { $data = []; return $this->loadLayout('ticket_mail_template', $data); } }