EVOLUTION-NINJA
Edit File: Batch_Model.php
<?php namespace App\Models; use CodeIgniter\Model; class Batch_Model extends Model { protected $table = 'batches'; // public function facultyBatchList($loginId) // { // $builder = $this->db->table('batches A'); // $builder->select('A.*, B.sub_domain, B.sub_domain_id, C.username'); // $builder->join('sub_domains B', 'B.sub_domain_id = A.sub_domain_id'); // $builder->join('login C', 'C.login_id = A.created_by'); // $builder->where('A.faculty_id', $loginId); // $builder->where('A.delete_status', 'ACTIVE'); // $builder->where('B.delete_status', 'ACTIVE'); // $query = $builder->get(); // $rows = $query->getResultArray(); // $resultArray = []; // foreach ($rows as $value) { // $data['batch_id'] = $value['batch_id']; // $data['sub_domain'] = $value['sub_domain']; // $data['batch_name'] = $value['batch_name']; // $data['course_type'] = $value['course_type']; // $fromTime = $value['from_time']; // $data['from_time'] = ($fromTime == '0') ? '' : (($fromTime == 'full_day') ? 'Full Day' : $fromTime); // $data['created_at'] = date("d-m-Y h:i:s", strtotime($value['created_at'])); // $data['username'] = $value['username']; // $data['batch_size'] = $value['batch_size']; // $data['batch_from_date'] = $value['batch_from_date']; // $data['batch_to_date'] = $value['batch_to_date']; // if ($data['batch_from_date'] != '' && $data['batch_to_date'] != '') { // $data['batch_from_to_date'] = $value['batch_from_date'] . ' to ' . $value['batch_to_date']; // } else { // $data['batch_from_to_date'] = ''; // } // if ($value['batch_approval_status'] == 'APPROVED') { // $data['batch_status'] = ($value['batch_status'] == 'IN_PROGRESS') ? 'IN PROGRESS' : // (($value['batch_status'] == 'COMPLETED') ? 'COMPLETED' : 'NOT YET STARTED'); // } else { // $data['batch_status'] = ''; // } // $data['batch_duration'] = $value['batch_duration']; // $createdBy = $value['created_by']; // $data['created_by'] = ($createdBy == '1') ? 'Admin' : $value['username']; // $data['batch_approval_status'] = $value['batch_approval_status']; // array_push($resultArray, $data); // } // return $resultArray; // } public function facultyBatchList($loginId) { $builder = $this->db->table('batches A'); $builder->select('A.*, B.sub_domain, B.sub_domain_id, C.username'); $builder->join('sub_domains B', 'B.sub_domain_id = A.sub_domain_id'); $builder->join('login C', 'C.login_id = A.created_by'); $builder->where('A.faculty_id', $loginId); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('B.delete_status', 'ACTIVE'); $query = $builder->get(); $resultArray = []; foreach ($query->getResult() as $value) { $data = [ 'batch_id' => $value->batch_id, 'sub_domain' => $value->sub_domain, 'batch_name' => $value->batch_name, 'course_type' => $value->course_type, 'from_time' => ($value->from_time == '0') ? '' : (($value->from_time == 'full_day') ? 'Full Day' : $value->from_time), 'created_at' => date("d-m-Y h:i:s", strtotime($value->created_at)), 'username' => $value->username, 'batch_size' => $value->batch_size, 'batch_from_date' => $value->batch_from_date, 'batch_to_date' => $value->batch_to_date, 'batch_from_to_date' => ($value->batch_from_date != '' && $value->batch_to_date != '') ? $value->batch_from_date . ' to ' . $value->batch_to_date : '', 'batch_status' => ($value->batch_approval_status == 'APPROVED') ? (($value->batch_status == 'IN_PROGRESS') ? 'IN PROGRESS' : (($value->batch_status == 'COMPLETED') ? 'COMPLETED' : 'NOT YET STARTED')) : '', 'batch_duration' => $value->batch_duration, 'created_by' => ($value->created_by == '1') ? 'Admin' : $value->username, 'batch_approval_status' => $value->batch_approval_status ]; $resultArray[] = $data; } return $resultArray; } public function getWhereRow($table, $where) { $builder = $this->db->table($table); $builder->select('*'); $builder->where($where); $query = $builder->get(); return $query->getRow(); } public function getDomains($id) { $builder = $this->db->table('faculty_subject_mapping A'); $builder->select('*'); $builder->join('domains B', 'B.domain_id = A.domain_id'); $builder->whereIn('A.login_id', [$id]); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('B.delete_status', 'ACTIVE'); $builder->where('A.approval_status', 'APPROVED'); $builder->where('A.return_status', 'NOT_RETURNED'); $builder->groupBy('A.domain_id'); $query = $builder->get(); return $query->getResult(); } public function getWhereResultOrderByAsc($table, $where, $order_by) { $builder = $this->db->table($table); $builder->select('*'); $builder->where($where); $builder->orderBy($order_by, 'ASC'); $query = $builder->get(); return $query->getResult(); } public function getWhereFacultyList($domainId, $subDomainId) { $builder = $this->db->table('faculty_subject_mapping A'); $builder->select('*'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('A.approval_status', 'APPROVED'); $builder->where('A.domain_id', $domainId); $builder->groupBy('A.faculty_reg_id'); $query = $builder->get(); $res = $query->getResult(); $facultyArray = []; foreach ($res as $value) { $subdomain = json_decode($value->sub_domain_id); if (in_array($subDomainId, $subdomain)) { $builder = $this->db->table('faculty_registration A'); $builder->select('*'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('A.faculty_reg_id', $value->faculty_reg_id); $query = $builder->get(); $res = $query->getRow(); $data['faculty_id'] = $res->login_id; $data['faculty_name'] = $res->fullname; $facultyArray[] = $data; } } return $facultyArray; } public function getNotEnrolledFacTimings($facId, $subDomainId, $domainId) { $subDomainIds = json_encode($subDomainId); $facultyId = json_encode($facId); $builder = $this->db->table('user_course_mapping'); $builder->select('*'); if (!is_null($facultyId)) { $builder->like('faculty_ids', $facultyId); } if (!is_null($subDomainIds)) { $builder->like('sub_domain_ids', $subDomainIds); } $builder->where('delete_status', 'ACTIVE'); $query = $builder->get(); $res = $query->getResult(); $array = []; if (!empty($res)) { foreach ($res as $result) { $userId = $result->user_id; $facultyIds = json_decode($result->faculty_ids); $facultyFromTime = trim($result->from_time, '["'); $facFromTime = trim($facultyFromTime, '"]'); $facultyToTime = trim($result->to_time, '["'); $facToTime = trim($facultyToTime, '"]'); $builder = $this->db->table('faculty_subject_mapping A'); $builder->select('*'); $builder->join('faculty_available_timings B', 'B.faculty_id = A.login_id AND B.subject_id = A.sub_domain_id'); $builder->where('A.domain_id', $domainId); $builder->like('B.course_type', 'live'); $builder->whereIn('B.faculty_id', $facultyIds); $builder->like('B.subject_id', $subDomainIds); $builder->where('B.from_time !=', $facFromTime); $builder->where('B.to_time !=', $facToTime); $builder->where('A.approval_status', 'APPROVED'); $builder->where('B.approval_status', 'APPROVED'); $builder->groupBy('B.from_time'); $builder->groupBy('B.to_time'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('B.delete_status', 'ACTIVE'); $query = $builder->get(); $res1 = $query->getResult(); foreach ($res1 as $result1) { $data['available_type'] = $result1->available_type; $data['from_time'] = $result1->from_time; $data['to_time'] = $result1->to_time; $data['from_to_time'] = $data['from_time'] . ' - ' . $data['to_time']; $array[] = $data; } } } else { $builder = $this->db->table('faculty_available_timings'); $builder->select('*'); $builder->where('faculty_id', $facId); if (!is_null($subDomainId)) { $builder->like('subject_id', $subDomainId); } $builder->where('approval_status', 'APPROVED'); $builder->where('delete_status', 'ACTIVE'); $query = $builder->get(); $res = $query->getResult(); foreach ($res as $result1) { $data['available_type'] = $result1->available_type; $data['from_time'] = $result1->from_time; $data['to_time'] = $result1->to_time; $data['from_to_time'] = $data['from_time'] . ' - ' . $data['to_time']; $array[] = $data; } } return $array; } public function get_where_result($table, $where) { $builder = $this->db->table($table); $builder->select('*'); $builder->where($where); $query = $builder->get(); return $query->getResult(); } // public function getNotEnrolledFacTimings($facId, $subDomainId, $domainId) // { // $subDomainIds = json_encode($subDomainId); // $facultyId = json_encode($facId); // $builder = $this->db->table('user_course_mapping'); // $builder->select('*'); // $builder->like('faculty_ids', $facultyId); // $builder->like('sub_domain_ids', $subDomainIds); // $builder->where('delete_status', 'ACTIVE'); // $query = $builder->get(); // $res = $query->getResult(); // if (!empty($res)) { // $array = []; // foreach ($res as $result) { // $userId = $result->user_id; // $facultyIds = json_decode($result->faculty_ids); // $facultyFromTime = ($result->from_time); // $facultyToTime = ($result->to_time); // $facFromTime = trim($facultyFromTime, '["'); // $facToTime = trim($facultyToTime, '"]'); // if ($facFromTime != "" && $facToTime != "") { // $builder = $this->db->table('faculty_subject_mapping A'); // $builder->select('*'); // $builder->join('faculty_available_timings B', 'B.faculty_id = A.login_id AND B.subject_id = A.sub_domain_id'); // $builder->where('A.domain_id', $domainId); // $builder->like('B.course_type', 'live'); // $builder->whereIn('B.faculty_id', $facultyIds); // $builder->like('B.subject_id', $subDomainIds); // $builder->where('B.from_time !=', $facFromTime); // $builder->where('B.to_time !=', $facToTime); // $builder->where('A.approval_status', 'APPROVED'); // $builder->where('B.approval_status', 'APPROVED'); // $builder->groupBy('B.from_time'); // $builder->groupBy('B.to_time'); // $builder->where('A.delete_status', 'ACTIVE'); // $builder->where('B.delete_status', 'ACTIVE'); // $query = $builder->get(); // $res1 = $query->getResult(); // foreach ($res1 as $result1) { // $data['available_type'] = $result1->available_type; // $data['from_time'] = $result1->from_time; // $data['to_time'] = $result1->to_time; // $data['from_to_time'] = $data['from_time'] . ' - ' . $data['to_time']; // $array[] = $data; // } // } else { // $builder = $this->db->table('faculty_subject_mapping A'); // $builder->select('*'); // $builder->join('faculty_available_timings B', 'B.faculty_id = A.login_id AND B.subject_id = A.sub_domain_id'); // $builder->where('A.domain_id', $domainId); // $builder->like('B.course_type', 'live'); // $builder->whereIn('B.faculty_id', $facultyIds); // $builder->like('B.subject_id', $subDomainIds); // $builder->where('A.approval_status', 'APPROVED'); // $builder->where('B.approval_status', 'APPROVED'); // $builder->groupBy('B.from_time'); // $builder->groupBy('B.to_time'); // $builder->where('A.delete_status', 'ACTIVE'); // $builder->where('B.delete_status', 'ACTIVE'); // $query = $builder->get(); // $res1 = $query->getResult(); // foreach ($res1 as $result1) { // $data['available_type'] = $result1->available_type; // $data['from_time'] = $result1->from_time; // $data['to_time'] = $result1->to_time; // $data['from_to_time'] = $data['from_time'] . ' - ' . $data['to_time']; // $array[] = $data; // } // } // } // return $array; // } else { // $builder = $this->db->table('faculty_available_timings'); // $builder->select('*'); // $builder->where('faculty_id', $facId); // $builder->like('subject_id', $subDomainId); // $builder->where('approval_status', 'APPROVED'); // $builder->where('delete_status', 'ACTIVE'); // $query = $builder->get(); // $res = $query->getResult(); // $array = []; // foreach ($res as $result1) { // $data['available_type'] = $result1->available_type; // $data['from_time'] = $result1->from_time; // $data['to_time'] = $result1->to_time; // $data['from_to_time'] = $data['from_time'] . ' - ' . $data['to_time']; // $array[] = $data; // } // return $array; // } // } public function getWhereOrderbyRow($table, $where, $orderBy) { $builder = $this->db->table($table); $builder->select('*'); $builder->where($where); $builder->orderBy($orderBy, 'DESC'); $query = $builder->get(); return $query->getRow(); } public function getTrainingPlanDuration($facultyId, $subDomainId, $domainId) { $builder = $this->db->table('training_plans'); $builder->select('*'); $builder->where('delete_status', 'ACTIVE'); $builder->where('approval_status', 'APPROVED'); $builder->where('domain_id', $domainId); $builder->where('sub_domain_id', $subDomainId); $builder->where('created_by', $facultyId); $query = $builder->get(); $res1 = $query->getResult(); $array = []; foreach ($res1 as $value) { $sessionDuration = $value->session_time; array_push($array, $sessionDuration); } $minutes = 0; foreach ($array as $time) { list($hour, $minute) = explode(':', $time); $minutes += $hour * 60; $minutes += $minute; } $hours = floor($minutes / 60); $minutes -= $hours * 60; $totalDuration = sprintf('%02d:%02d', $hours, $minutes); return $totalDuration; } }