MMCT TEAM
Server IP : 103.191.208.50  /  Your IP : 216.73.216.53
Web Server : LiteSpeed
System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64
User : celkcksm ( 1031)
PHP Version : 7.4.33
Disable Function : show_source, system, shell_exec, passthru, popen, exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/celkcksm/ecampus.ncriptech.com/application/models/hrm/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/celkcksm/ecampus.ncriptech.com/application/models/hrm/Employee_model.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');


/**
 * 
 */
class Employee_model extends BaseModel
{
    function __constuct(){
        parent::__construct(); 
    }

    //Employees

    public function store_employee($data,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='nt_institute_hrm_employees';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_employee($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_employee($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }

    public function get_employee_types($single_row=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_type';
        if($single_row==TRUE){
            return $this->get_one(null,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many(null,null,null,$return_query);
        }       
    }


    //Employee Address
    public function store_employee_address($data,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_addresses';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_employee_address($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_addresses';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_employee_address($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_addresses';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_address($single_row=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_addresses';
        if($single_row==TRUE){
            return $this->get_one(null,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many(null,null,null,$return_query);
        }       
    }
    


    public function get_total_employee($param=null,$group_by=NULL,$find_in_set=NULL,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees';
        return $this->get_total_count($param,$group_by,$find_in_set,$return_query);
    }


    public function _get_employee($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->select('institute_hrm_employees.*,users.user_name,users.user_password_visible,users.user_status');
        $this->_db->join('users','users.user_id=institute_hrm_employees.emp_user_id','LEFT');

        $this->_db->where($param);
        $result=$this->_db->get('institute_hrm_employees');

        if($single_row==TRUE){
            if($return_query==FALSE){
                return $result->first_row();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }
        }else if($single_row==FALSE){
            if($return_query==FALSE){
                return $result->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }
        }
    }

    public function _get_employee_list($post = array(), $param = array(), $count = FALSE,$db_group=null, $return_query = FALSE) {
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->from('institute_hrm_employees');
    
        // JOINs
        $this->_db->select('institute_hrm_employees.*, institute_hrm_roles.role_name, users.user_name, users.user_password_visible, users.user_status');
        $this->_db->join('users', 'users.user_id = institute_hrm_employees.emp_user_id', 'LEFT');
        $this->_db->join('institute_hrm_roles', 'institute_hrm_roles.role_id = institute_hrm_employees.emp_role', 'LEFT');
    
        // WHERE conditions
        if (!empty($param['emp_inst_id'])) {
            $this->_db->where('emp_inst_id', $param['emp_inst_id']);
        }
        if (!empty($param['emp_inst_type'])) {
            $this->_db->where('emp_inst_type', $param['emp_inst_type']);
        }
    
        // Search filter
        if (isset($param['column_search'])) {
            $i = 0;
            foreach ($param['column_search'] as $item) {
                if (!empty($post['search']['value'])) {
                    if ($i === 0) {
                        $this->_db->group_start();
                        $this->_db->like($item, $post['search']['value']);
                    } else {
                        $this->_db->or_like($item, $post['search']['value']);
                    }
    
                    if (count($param['column_search']) - 1 == $i)
                        $this->_db->group_end();
                }
                $i++;
            }
        }
    
        // Ordering
        if (isset($post['order'])) {
            $column_order = $param['column_order'];
            $this->_db->order_by($column_order[$post['order']['0']['column']], $post['order']['0']['dir']);
        } elseif (isset($param['order'])) {
            $order = $param['order'];
            $this->_db->order_by(key($order), $order[key($order)]);
        }
    
        // COUNT query
        if ($count === TRUE) {
            $query = $this->_db->get();
            return $return_query ? $this->_db->last_query() : $query->num_rows();
        }
    
        // Apply pagination
        if (isset($post['length']) && $post['length'] != -1) {
            $this->_db->limit($post['length'], $post['start']);
        }
    
        $query = $this->_db->get();
        return $return_query ? $this->_db->last_query() : $query->result();
    }
    


    //PROOF tYPE
    public function store_employee_proof_type($data,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_id_proof_type';
        return $this->store($data,FALSE,$return_query);
    }


    public function update_employee_proof_type($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_id_proof_type';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_employee_proof_type($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_id_proof_type';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_proof_type($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_id_proof_type';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    //Academics
    
    public function store_employee_academics_data($data,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_academics';
        return $this->store($data,$batch,$return_query);
    }


    public function update_employee_academics_data($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_academics';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_employee_academics_data($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_academics';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_academics_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_academics';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    //Professional

    public function store_employee_professional_data($data,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_professional_details';
        return $this->store($data,$batch,$return_query);
    }


    public function update_employee_professional_data($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_professional_details';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_employee_professional_data($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_professional_details';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_professional_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_professional_details';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }

    //Docs

    public function store_employee_docs($data,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_docs';
        return $this->store($data,$batch,$return_query);
    }


    public function update_employee_docs($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_docs';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_employee_docs($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_docs';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_docs($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employees_docs';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    public function _get_employee_docs($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->select('institute_hrm_employees_docs.*,storage.media_disk_path_relative');
        $this->_db->join('storage','storage.storage_id=institute_hrm_employees_docs.doc_storage_id','LEFT');

        $this->_db->where($param);

        $result=$this->_db->get('institute_hrm_employees_docs');

        if($single_row==TRUE){
            if($return_query==TRUE){
                return $this->_db->last_query();
            }else if($return_query==FALSE){
                return $result->first_row();
            }
        }else if($single_row==FALSE){
            if($return_query==TRUE){
                return $this->_db->last_query();
            }else if($return_query==FALSE){
                return $result->result();
            }
        }
    }


     //Employee 
    public function store_employee_salary_details($data,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_earnings';
        return $this->store($data,$batch,$return_query);
    }


    public function update_employee_salary_details($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_earnings';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_employee_salary_details($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_earnings';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_salary_details($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_earnings';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    public function store__employee_salary_details($data,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_details_data';
        return $this->store($data,$batch,$return_query);
    }


    public function update__employee_salary_details($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_details_data';
        return $this->modify($data,$param,$batch,$return_query);
    }


    public function delete_payroll_head($param,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_details_data';
        return $this->remove($param,0,$return_query);
    }

    public function get_employee_salary_details_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->table='institute_hrm_employee_salary_details_data';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    public function __get_employee_salary_details_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->select('institute_hrm_employee_salary_details_data.*,institute_hrm_employees.emp_code,institute_hrm_employees.emp_first_name,institute_hrm_employees.emp_mid_name,institute_hrm_employees.emp_last_name');
        $this->_db->join('institute_hrm_employees','institute_hrm_employees.emp_user_id=institute_hrm_employee_salary_details_data.sal_details_emp_id');

        // $this->_db->where('sal_details_inst_id',$param['salary_inst_id']);
        // $this->_db->where('sal_details_inst_type',$param['salary_inst_type']);

        // if(isset($param['sal_details_month'])){
        //     $this->_db->where('sal_details_month',$param['sal_details_month']);
        // }

        // if(isset($param['sal_details_year'])){
        //     $this->_db->where('sal_details_year',$param['sal_details_year']);
        // }

        $query = $this->_db->get('institute_hrm_employee_salary_details_data');

        if($return_query==FALSE){
            if($single_row==TRUE){
                return $query->first_row();
            }else{
                return $query->result();
            }            
        }else if($return_query==TRUE){
            return $this->_db->last_query();
        } 
    }


    public function _get_employee_salary_details($post=array(),$param=array(),$count=FALSE,$db_group=null,$return_query=FALSE){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->select('institute_hrm_employee_salary_details_data.*,institute_hrm_employees.emp_code,institute_hrm_employees.emp_first_name,institute_hrm_employees.emp_mid_name,institute_hrm_employees.emp_last_name');
        $this->_db->join('institute_hrm_employees','institute_hrm_employees.emp_user_id=institute_hrm_employee_salary_details_data.sal_details_emp_id');

        $i = 0;

        $this->_db->where('sal_details_inst_id',$param['salary_inst_id']);
        $this->_db->where('sal_details_inst_type',$param['salary_inst_type']);

        if(isset($param['sal_details_month'])){
            $this->_db->where('sal_details_month',$param['sal_details_month']);
        }

        if(isset($param['sal_details_year'])){
            $this->_db->where('sal_details_year',$param['sal_details_year']);
        }

        if(isset($param['column_search'])){
            foreach ($param['column_search'] as $item)
            {
                if(isset($post['search']['value']) && $post['search']['value'])
                {
                    
                    if($i===0)
                    {
                        $this->_db->group_start();
                        $this->_db->like($item, $post['search']['value']);
                    }
                    else
                    {
                        $this->_db->or_like($item, $post['search']['value']);
                    }

                    if(count($param['column_search']) - 1 == $i)
                        $this->_db->group_end();
                }
                
                $i++;
            }
        }

            
        if(isset($post['order']))
        {
            $column_order=$param['column_order'];
            $this->_db->order_by($column_order[$post['order']['0']['column']], $post['order']['0']['dir']);
        } 
        else if(isset($param['order']))
        {
            $order = $param['order'];
            $this->_db->order_by(key($order), $order[key($order)]);
        }

        if($count==FALSE){
            if(isset($post['length']) && $post['length'] != -1){
                $this->_db->limit($post['length'],$post['start']);   
            }
            
            $query = $this->_db->get('institute_hrm_employee_salary_details_data');

            if($return_query==FALSE){
                return $query->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }       
            
        }else if($count==TRUE){
            $query = $this->_db->get('institute_hrm_employee_salary_details_data');
            if($return_query==FALSE){
                return $query->num_rows();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }           
        }
    }
}

MMCT - 2023