diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index bc311665..d4464635 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -2622,9 +2622,38 @@ class EmployeeRestController extends AdminController } } - - return $this->respond(['status' => (count($data) ? 'success' : 'failed'),'code' => (count($data) ? 200 : 404),'data' => $data ], 200); + $ticketMesssageModel = new TicketMessageModel(); + $ticket_message = $ticketMesssageModel + ->where('is_active', 1) + ->where('sender', "user") + ->where('ticket_id', $ticket_id) + ->orderBy('id', "desc") + ->first(); + + $claim_file_urls = []; + + if (isset($ticket_message['id'])) { + + $claimFiles = new ClaimFilesModel(); + $claim_files_data = $claimFiles + ->select('id as claim_file_id, doc_name as claim_file_name') + ->where('is_active', 1) + ->where('file_type', 2) + ->where('ticket_id', $ticket_id) + ->where('ticket_message_id', $ticket_message['id']) + ->findAll(); + + foreach ($claim_files_data as &$value) { + $value['url'] = base_url('downloadClaimFile/') . $value['claim_file_id']; + $claim_file_urls[] = $value; + } + unset($value); + } + + $data['claim_files'] = $claim_file_urls; + + return $this->respond(['status' => (count($data) ? 'success' : 'failed'),'code' => (count($data) ? 200 : 404),'data' => $data, ], 200); } @@ -3749,24 +3778,17 @@ class EmployeeRestController extends AdminController $ticket_data[$key]['claim_type_value'] = $claimType[$claimPrimaryTypey][$value['claim_type']] ?? null; $ticket_data[$key]['ticket_policy_type'] = $ticketTypeArray[$value['ticket_type_id']] ?? null; - $ticketMesssageModel = new TicketMessageModel(); - $ticket_message = $ticketMesssageModel - ->where('is_active', 1) - ->where('sender', "user") - ->where('ticket_id', $ticket_id) - ->orderBy('id', "desc") - ->first(); - $claim_file_urls = []; - if ($ticket_message && isset($ticket_message['id'])) { + if (isset($value['ticket_message_id'])) { + $claimFiles = new ClaimFilesModel(); $claim_files_data = $claimFiles ->select('id as claim_file_id, doc_name as claim_file_name') ->where('is_active', 1) ->where('file_type', 2) - ->where('ticket_id', $ticket_id) - ->where('ticket_message_id', $ticket_message['id']) + ->where('ticket_id', $value['id']) + ->where('ticket_message_id', $value['ticket_message_id']) ->findAll(); foreach ($claim_files_data as &$value) { @@ -3777,7 +3799,7 @@ class EmployeeRestController extends AdminController } // always set the key (empty if no files found) - $ticket_data['claim_files'] = $claim_file_urls; + $ticket_data[$key]['claim_files'] = $claim_file_urls; } } diff --git a/app/Models/TicketMasterModel.php b/app/Models/TicketMasterModel.php index dfe14db3..05196827 100644 --- a/app/Models/TicketMasterModel.php +++ b/app/Models/TicketMasterModel.php @@ -793,7 +793,7 @@ class TicketMasterModel extends Model //api public function get_ticket_data($emp_id, $returnType,$ticket_type = null, $ticket_id = null) { - $query = $this->select('ticket_master.*, tms.mail_subject as subject') + $query = $this->select('ticket_master.*, tms.mail_subject as subject, tms.id as ticket_message_id') ->join('ticket_messages tms', 'ticket_master.id = tms.ticket_id', 'left') ->where('ticket_master.is_active', 1); $query->whereIn('sender', ['staff', 'user']); @@ -807,6 +807,7 @@ class TicketMasterModel extends Model $query->where('ticket_master.ticket_type_id', $ticket_type); } + $query->groupBy('ticket_master.id'); $data = $query->findAll(); // dd($data, db_connect()->getLastQuery()); // print_r($this->db->getLastQuery());die;