diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index 8c50a11c..2b320209 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -126,7 +126,7 @@ class TicketController extends BaseController $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(); - + $data['ticket_data'] = $this->ticketSearch(1); return $this->loadLayout('ticket_search', $data); } else{ @@ -137,9 +137,26 @@ class TicketController extends BaseController } } - public function ticketSearch() + public function ticketSearch($action = null) { - $search_data = $this->request->getPost(); + //action 1 get last 100 rows, action 2 filter and get all rows related to that + if ($action == 1){ + $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) + ->orderBy('ticket_master.id', 'DESC') + ->limit(100) + ->findAll(); + + return $data; + }else{ + $search_data = $this->request->getPost(); // print_r($search_data); $where = []; foreach ($search_data as $search_objects => $key) { @@ -163,6 +180,7 @@ class TicketController extends BaseController // log_message('error',' Claims Master Data '.json_encode($data));die(); // print_rr($data);die(); return $data; + } } public function ticket_form($ticket_type) @@ -224,6 +242,7 @@ class TicketController extends BaseController ->first(); $data['placeHolders'] = $this->placeHolders; $data['message_data'] = $this->getTicketMessage($ticket_id); + $data['ticket_history'] = $this->ticketHistory($ticket_id); // dd($data); return $this->loadLayout('ticket_edit_onbording', $data); @@ -472,4 +491,124 @@ class TicketController extends BaseController } + public function ticketHistory($ticket_id){ + $sql = "SELECT + th.id, + th.field_name, + th.display_name, + th.old_value, + th.new_value, + th.created_at, + CONCAT(creator.first_name, ' ', creator.last_name) as modified_by, + -- Claim Status + old_status.claim_status as old_status_value, + new_status.claim_status as new_status_value, + + -- Account Manager + CONCAT(old_account_manager.first_name, ' ', old_account_manager.last_name) as old_account_manager, + CONCAT(new_account_manager.first_name, ' ', new_account_manager.last_name) as new_account_manager, + + -- Insured Employee ID Change + old_insured_emp.name as old_insured_id_name, + new_insured_emp.name as new_insured_id_name + + + +FROM + ticket_history th + + -- Join for the user who made the change + LEFT JOIN user_profiles creator + ON th.created_by = creator.id + + -- Status value lookups + LEFT JOIN ticket_claim_status old_status + ON th.field_name = 'claim_status_id' + AND th.old_value = old_status.id + AND old_status.is_active = 1 + LEFT JOIN ticket_claim_status new_status + ON th.field_name = 'claim_status_id' + AND th.new_value = new_status.id + + LEFT JOIN user_profiles as old_account_manager + ON th.field_name = 'acm_id' + AND th.old_value = old_account_manager.id + + LEFT JOIN user_profiles as new_account_manager + ON th.field_name = 'acm_id' + AND th.new_value = new_account_manager.id + + LEFT JOIN employees as old_insured_emp + ON th.field_name = 'insured_emp_id' + AND th.old_value = old_insured_emp.id + + LEFT JOIN employees as new_insured_emp + ON th.field_name = 'insured_emp_id' + AND th.new_value = new_insured_emp.id + + + +WHERE + th.ticket_id = $ticket_id + AND th.is_active = 1 +ORDER BY + th.created_at DESC"; + $data = $this->ticketHistoryModel->query($sql)->getResultArray(); + $priorityType = $this->priorityType; + $relationshipType = $this->relationshipType; + $modeOFIntimate = $this->modeOFIntimate; + $claim_type = $this->claimType; + foreach ($data as &$row){ + if ($row['field_name'] == 'claim_status_id'){ + $new_old_value = isset($row['old_status_value'])?$row['old_status_value']:'-'; + $new_new_value = $row['new_status_value']; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }elseif ($row['field_name'] == 'acm_id'){ + $new_old_value = isset($row['old_account_manager'])?$row['old_account_manager']:'-'; + $new_new_value = $row['new_account_manager']; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }elseif ($row['field_name'] == 'insured_emp_id'){ + $new_old_value = isset($row['old_insured_id_name'])?$row['old_insured_id_name']:'-'; + $new_new_value = $row['new_insured_id_name']; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }elseif ($row['field_name'] == 'priority'){ + $new_old_value = isset($priorityType[$row['old_value']])?$priorityType[$row['old_value']]:'-'; + $new_new_value = $priorityType[$row['new_value']]; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }elseif ($row['field_name'] == 'relationship'){ + $new_old_value = isset($relationshipType[$row['old_value']])?$relationshipType[$row['old_value']]: '-'; + $new_new_value = $relationshipType[$row['new_value']]; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }elseif ($row['field_name'] == 'mode_of_intimation'){ + $new_old_value = isset($modeOFIntimate[$row['old_value']])?$modeOFIntimate[$row['old_value']]:"-"; + $new_new_value = $modeOFIntimate[$row['new_value']]; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + } + elseif ($row['field_name'] == 'claim_type'){ + $new_old_value = isset($claim_type[$row['old_value']])?$claim_type[$row['old_value']]:'-'; + $new_new_value = $claim_type[$row['new_value']]; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + } + elseif ($row['field_name'] == 'claim_type'){ + $new_old_value = isset($claim_type[$row['old_value']])?$claim_type[$row['old_value']]:'-'; + $new_new_value = $claim_type[$row['new_value']]; + $row['old_value'] = $new_old_value; + $row['new_value'] = $new_new_value; + }else{ + $new_old_value = isset($row['old_value'])?$row['old_value']:'-'; + $row['old_value'] = $new_old_value; + } + } + + return($data); + + } + } \ No newline at end of file diff --git a/app/Models/TicketHistoryModel.php b/app/Models/TicketHistoryModel.php index 6337be4b..6d7eb0f5 100644 --- a/app/Models/TicketHistoryModel.php +++ b/app/Models/TicketHistoryModel.php @@ -12,7 +12,8 @@ class TicketHistoryModel extends Model protected $returnType = 'array'; protected $useSoftDeletes = false; protected $protectFields = true; - protected $allowedFields = []; + protected $allowedFields = ['id','field_name','display_name','old_value', + 'new_value','created_by','created_at','updated_by','updated_at','is_active']; // Callbacks protected $allowCallbacks = true; diff --git a/app/Views/ticket_edit_onbording.php b/app/Views/ticket_edit_onbording.php index 8f95b1e5..aaf453de 100644 --- a/app/Views/ticket_edit_onbording.php +++ b/app/Views/ticket_edit_onbording.php @@ -116,7 +116,7 @@ function submitClaimForm(event, form) { toastr.error(response.message, 'ERROR'); } $('.loader').fadeOut(); - $('.loader-mask').delay(350).fadeOut('slow'); + $('.loader-mask').delay(350).fadeOut('slow'); }, error: function(xhr, status, error) { console.error(xhr.responseText); diff --git a/app/Views/ticket_history.php b/app/Views/ticket_history.php index 73e0850b..05534579 100644 --- a/app/Views/ticket_history.php +++ b/app/Views/ticket_history.php @@ -2,12 +2,13 @@
| Field | -Old Value | -New Value | + +Change | User | Date/Time | ||||
|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | + | + | '.$row['new_value']; ?> | + ++ |