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/controllers/admin/

[  Home  ][  C0mmand  ][  Upload File  ]

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


/**
 * 
 */
class Banks  extends BaseAdminController
{
    protected $inst_id='';
    protected $inst_parent_id='';
    protected $inst_code='';
    protected $inst_type='';
    protected $user_type='';
    protected $hrms_access='';
    protected $bank_add_access='';
    protected $bank_edit_access='';
    protected $bank_delete_access='';
    protected $bank_balance_add='';
    protected $bank_balance_edit='';
    protected $user_permissions='';

    function __construct()
    {
        parent::__construct();

        $institute_data=check_institute($this->data['userdata']);

        //print_obj($institute_data);die;

        $this->user_type=$this->data['userdata']->user_type;

        $this->inst_id=$institute_data['institute_id'];
        $this->inst_parent_id=$institute_data['inst_parent_id'];
        $this->inst_code=$institute_data['inst_code'];
        $this->inst_type=$institute_data['inst_type'];

        $this->bank_add_access=$institute_data['bank_add_access'];
        $this->bank_edit_access=$institute_data['bank_edit_access'];
        $this->bank_delete_access=$institute_data['bank_delete_access'];
        $this->bank_balance_add=$institute_data['bank_balance_add'];
        $this->bank_balance_edit=$institute_data['bank_balance_edit'];

        $this->ams_access=$institute_data['ams_access'];
    }


    //Bank Details

    function index($bank=null){
        // if($this->data['userdata']->user_type=='student' || $this->data['userdata']->user_type=='agent' ){
        //     redirect($this->data['base_url']);
        // }
       
        if(session_userdata('isAdminLoggedin')){

            $this->data['page_title']='Bank Setups';

            $ams_bank_accounts_access= check_access_control($this->data['userdata'],'ams_bank_accounts','view');
            $this->data['ams_bank_accounts_add_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','add');
            $this->data['ams_bank_accounts_edit_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','edit');
            $this->data['ams_bank_accounts_add_balance_access']= check_access_control($this->data['userdata'],'ams_bank_accounts','add_balance');

            if($this->ams_access=='yes'){
                if($ams_bank_accounts_access=='yes'){
                    $this->data['fiscal_year']=fiscalyear(2000);
                    $this->data['fiscal_year']=fiscalyear(2000);
                    $this->data['add_access']=$this->bank_add_access;
                    $this->data['edit_access']=$this->bank_edit_access;

                    $this->data['banks']=$this->sm->get_banks(array('bank_inst_id'=>$this->inst_id,'bank_inst_type'=>$this->inst_type),FALSE);
                    $view='master/vw_banks';
                }else{
                    $view='exm/vw_exms_permission_denied';
                }
            }else{
                $view='exm/vw_exms_permission_denied';
            }

            

            $this->theme->title($this->data['page_title'])->load($view, $this->data);
        }else{

            redirect($this->data['base_url']);
        }
    }


    public function onAddEditBank(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            $bank_name=post_data('bank_name');
            $_bank=post_data('_bank');
            $bank_branch=post_data('bank_branch');
            $bank_ifsc=post_data('bank_ifsc');
            $bank_phone_no=post_data('bank_phone_nos');
            $bank_acc_no=post_data('bank_acc_no');
            $bank_address=post_data('bank_address');
            $bank_acc_status=post_data('bank_acc_status');
            $bank_ac_description=post_data('bank_ac_description');
            

            $this->form_validation->set_rules('bank_name', 'Bank name required', 'trim|required');
            $this->form_validation->set_rules('bank_branch', 'Bank Branch Name required', 'trim|required');
            $this->form_validation->set_rules('bank_phone_nos', 'Bank phone no required', 'trim|required');

            if ($this->form_validation->run() == true){

                if(!empty($bank_address)){
                    $bank_address=$bank_address;
                }

                $bank_details=array('bank_inst_id'=>$this->data['userdata']->user_id,'bank_name'=>strtoupper($bank_name),'bank_branch'=>strtoupper($bank_branch),'bank_ifsc'=>strtoupper($bank_ifsc),'bank_account_no'=>$bank_acc_no,
                    'bank_phone'=>$bank_phone_no,'bank_address'=>$bank_address,'bank_account_description'=>$bank_ac_description,'bank_status'=>$bank_acc_status);

                $bank_data=$this->sm->get_banks(array('bank_inst_id'=>$this->data['userdata']->user_id,'bank_name'=>strtoupper($bank_name),'bank_account_no'=>$bank_acc_no,'bank_branch'=>strtoupper($bank_branch)));

                if(empty($bank_data)){
                    $added=$this->sm->store_bank_data($bank_details);

                    if($added){
                        $return['success']='Bank added successfully';
                    }else{
                        $return['error']='Bank not added';
                    }
                }else if(!empty($_bank)){
                    $bank_id=decode_data($_bank);
                    $updated=$this->sm->update_bank_data($bank_details,array('bank_id'=>$bank_id));

                    if($updated){
                        $return['success']='Bank updated successfully';
                    }else{
                        $return['error']='Bank not updated';
                    }
                }
            }else{
                $return['error']='Error occurred';
            }

                

            json_headers($return);

        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onAddEditBankBalance(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $ams_bank_accounts_add_balance_access= check_access_control($this->data['userdata'],'ams_bank_accounts','add_balance');

                if($ams_bank_accounts_add_balance_access=='no'){
                    $return['error']='You don\'t have the required permission to add new balance';
                }else{
                    $bank_id=post_data('bank_id');
                    $balance_amount=post_data('bank_opening_balance');
                    // $financial_year=post_data('bank_balance_fiscal_year');
                

                    $institute_data=check_institute($this->data['userdata']);
                    $inst_id=$institute_data['institute_id'];
                    $inst_type=$institute_data['inst_type'];

                    $creator_id=$this->data['userdata']->user_id;
                
                    if(empty($balance_id)){
                        $bank_id=decode_data($bank_id);

                        $get_balance_data=$this->sm->get_bank_balance(array('balance_bank_id'=>$bank_id,
                            'balance_inst_id'=>$inst_id,'balance_status'=>'active'));

                        if(!empty($get_balance_data)){
                            if($get_balance_data->balance_adjusted_amount>0){
                                $new_balance=$get_balance_data->balance_opening_amount+$balance_amount;
                            }else{
                                $new_balance=$balance_amount;
                            }
                            
                            $balance_adjusted_amount=$balance_amount;
                        }else{
                            $new_balance=$balance_amount;
                            $balance_adjusted_amount=0;
                        }

                        $data_to_insert=array(
                            'balance_bank_id'=>$bank_id,
                            'balance_inst_id'=>$inst_id,
                            'balance_opening_amount'=>$new_balance,
                            'balance_adjusted_amount'=>$balance_adjusted_amount,
                            'balance_status'=>'active',
                            'balance_is_credit_debit'=>'credit',
                            'balance_created_by'=>$creator_id
                        );

                        if(!empty($get_balance_data)){
                            if($get_balance_data->balance_adjusted_amount>0){
                                $balance_id=$this->sm->store_bank_balance_data($data_to_insert);
                            }else{
                                $balance_id=$get_balance_data->balance_id;
                                if($get_balance_data->balance_adjusted_amount>0){
                                    $this->sm->update_bank_balance_data(array('balance_status'=>'inactive','balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_bank_id'=>$bank_id,'balance_id'=>$balance_id));
                                }else{
                                    $this->sm->update_bank_balance_data(array('balance_opening_amount'=>$new_balance,'balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_bank_id'=>$bank_id,'balance_id'=>$balance_id));
                                }                            
                            }                        
                        }else if(empty($get_balance_data)){
                            $balance_id=$this->sm->store_bank_balance_data($data_to_insert);
                        }                    

                        if($balance_id){
                            $return['success']='Balance added successfully';                        
                        }else{
                            $return['error']='Balance not added.';
                        }

                    }else{
                        $balance_id=decode_data($balance_id);
                    }
                }

                json_headers($return);
            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onSearchBanksList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $inst_id=$this->inst_id;

                $param['bank_inst_id']=$inst_id;
                $param['column_order'] = array(
                    null,
                    'bank_name'
                );

                $param['column_search'] = array('bank_name','bank_branch');
                $param['order'] = array('bank_id' => 'ASC');
                $posts=$this->input->post();


                //$param['created_by']=session_userdata('admin_id');


                $list = $this->sm->_get_banks($posts,$param,FALSE,FALSE);
                
                
                $data = array();
                $no = isset($posts['start'])?$posts['start']:0;

                $action='';

                foreach ($list as $bank){
                    $no++;

                    $row = array();

                    $details=$bank->bank_name.'<br>Branch:'.$bank->bank_branch.'<br>A/C:'.$bank->bank_account_no.'<br>IFSC:'.$bank->bank_ifsc.'<br>Type:'.$bank->bank_account_description.'<br>Primary Account:'.$bank->is_primary_account;

                    $ams_bank_accounts_edit_access= check_access_control($this->data['userdata'],'ams_bank_accounts','edit');
                    $ams_bank_accounts_view_balance_access= check_access_control($this->data['userdata'],'ams_bank_accounts','view_balance');
                    $ams_bank_accounts_delete_access= check_access_control($this->data['userdata'],'ams_bank_accounts','delete');

                    $action='';

                    $row[]  =   $no;
                    $row[]  =   $details; 
                    // $row[]  =   $bank->bank_branch; 


                    if($bank->bank_status=='active'){
                        $bank_status='<span class="badge badge-sm badge-success">Active</span>';
                    }else if($bank->bank_status=='inactive'){
                        $bank_status='<span class="badge badge-sm badge-danger">Inactive</span>';
                    }

                    $row[]  =   $bank_status;

                    $action.='<div class="btn-group" role="group" aria-label="Basic example">';

                    if($ams_bank_accounts_view_balance_access=='yes'){
                        if($bank->bank_status=='active'){
                            $action.='<button class="btn btn-xs btn-success btn_add_bank_balance" data-banck_acc="'.$bank->bank_account_no.'" data-bank_branch="'.$bank->bank_branch.'" data-bank_name="'.$bank->bank_name.'" data-bank_id="'.encode_data($bank->bank_id).'">Bank Balance</button>'; 
                        }
                    }
                    
                    if($ams_bank_accounts_edit_access=='yes'){
                        $action.='<button class="btn btn-xs btn-dark btn_edit_bank" data-bank_id="'.encode_data($bank->bank_id).'" data-bank_name="'.$bank->bank_name.'" data-bank_branch="'.$bank->bank_branch.'" data-bank_phone_nos="'.$bank->bank_phone.'" data-bank_ifsc="'.$bank->bank_ifsc.'" data-bank_address="'.$bank->bank_address.'" data-banck_acc="'.$bank->bank_account_no.'" data-acc_status="'.$bank->bank_status.'" data-account_type="'.$bank->bank_account_description.'">
                            <i class="fa fa-edit"></i>
                        </button>';
                    }
                    
                    if($ams_bank_accounts_delete_access=='yes'){
                        $action.='<button class="btn btn-xs btn-danger"><i class="fa fa-trash"></i></button>';
                    }

                    if($ams_bank_accounts_view_balance_access=='no' && $ams_bank_accounts_edit_access=='no' && $ams_bank_accounts_delete_access=='no'){
                        $action.='<span class="badge badge-dark">Not permitted</span>';
                    }
                    
                    $action.='</div>';

                    $row[]  =   $action;

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sm->_get_banks($posts,$param,TRUE),
                    "recordsFiltered" => $this->sm->_get_banks($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function  onSearchBankBalanceList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $institute_data=check_institute($this->data['userdata']);
                $inst_id=$institute_data['institute_id'];

                $param['bank_inst_id']=$inst_id;
                $param['column_order'] = array(
                    null,
                    'bank_name'
                );

                $param['column_search'] = array('balance_financial_year');
                $param['order'] = array('balance_id' => 'DESC');
                $posts=$this->input->post();

                if(isset($posts['bank_id'])){
                    $bank_id=decode_data($posts['bank_id']);
                    $param['bank_id']=$bank_id;
                }

                $list = $this->sm->_get_bank_balance($posts,$param,FALSE,FALSE);                
                
                $data = array();
                $no = isset($posts['start'])?$posts['start']:0;

                $action='';

                foreach ($list as $bank){
                    $no++;

                    $row = array();

                    $row[]  =   $no;
                    // $row[]  =   $bank->balance_financial_year;
                    $row[]  =   number_format($bank->balance_opening_amount,2); 
                    $row[]  =   number_format($bank->balance_adjusted_amount,2);                    
                    $row[]  =   date('d-m-Y',strtotime($bank->balance_created_at));

                    /*if($bank->balance_status=='active'){
                        $action='<button class="btn btn-xs btn-dark btn_edit_bank_balance" data-bank_id="'.encode_data($bank->balance_bank_id).'" data-balance_value="'.$bank->balance_opening_amount.'" data-fiscal_year="'.$bank->balance_financial_year.'"><i class="fa fa-edit"></i></button>';
                    }else{
                        $action='';
                    }*/

                    //$row[]  =   $action;

                    if(in_array($bank->balance_is_credit_debit, array('credit','transfer_credit'))){
                        $row[]  =   '<span class="badge badge-success">Credit</span>';
                    }else if(in_array($bank->balance_is_credit_debit, array('debit','transfer_debit'))){
                        $row[]  =   '<span class="badge badge-danger">Debit</span>';
                    }

                    if($bank->balance_status=='active'){
                        $row[]  =   '<span class="badge badge-success">Active</span>';
                    }else{
                        $row[]  =   '<span class="badge badge-dark">inactive</span>';
                    }

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sm->_get_bank_balance($posts,$param,TRUE),
                    "recordsFiltered" => $this->sm->_get_bank_balance($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onExportBankDetails() {
        if (session_userdata('isAdminLoggedin') === TRUE && session_userdata('admin_id')) {
            if ($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD') == 'POST') {
                // Fetch bank data
                $banks_list = $this->sm->get_banks(
                    ['bank_inst_id' => $this->inst_id, 'bank_inst_type' => $this->inst_type],
                    FALSE
                );
    
                // Define column headings
                $headingdata = [
                    'Sl. No.',
                    'Bank Name',
                    'Branch Name',
                    'A/C No.',
                    'IFSC',
                    'Phone No.',
                    'Address',
                    'Description',
                    'Opening Amount',
                    'Date'
                ];
    
                // Prepare input data
                $inputData = [];
                if (!empty($banks_list)) {
                    $no = 1; // Start numbering at 1
                    foreach ($banks_list as $value) {
                        $bank_balance=$this->sm->get_bank_balance(array('balance_bank_id'=>$value->bank_id,'balance_status'=>'active'));

                        if(!empty($bank_balance)){
                            if($bank_balance->balance_updated_at!=null){
                                $created_at=$bank_balance->balance_updated_at;
                            }else{
                                $created_at=$bank_balance->balance_created_at;
                            }
                        }else{
                            $created_at=$value->created_at;
                        }
                        $inputData[] = [
                            $no++, // Increment Sl. No.
                            $value->bank_name,
                            $value->bank_branch,
                            $value->bank_account_no,
                            $value->bank_ifsc,
                            $value->bank_phone,
                            $value->bank_address,
                            $value->bank_account_description,
                            number_format($bank_balance->balance_opening_amount,2) ?? '0.00', // Default if missing
                            date('d-m-Y', strtotime($created_at)) // Format date
                        ];
                    }
                }
    
                // Call the helper function
                $file_name = 'BankDetails_' . date('YmdHis') . '.xlsx';
                $result = __write_excel($headingdata, $inputData, $file_name);
    
                // Return JSON response
                if ($result['success'] ?? false) {
                    $return=array('status' => 'success', 'file_name'=>$file_name, 'file_url' => $result['file_url']);
                } else {
                    $return=array('status' => 'error', 'message' => $result['error']);
                }

                json_headers($return);
            } else {
                redirect($this->data['base_url']);
            }
        } else {
            redirect($this->data['base_url']);
        }
    }
    
    
    

    //Bank Details


    //Cash Details

    function indexCashes($balance_id=null){

         if($this->data['userdata']->user_type=='student'||  $this->data['userdata']->user_type=='agent'  ){
             
            redirect($this->data['base_url']);
         }
       
        if(session_userdata('isAdminLoggedin')){

            $view_access= check_access_control($this->data['userdata'],'cash_master','view');
            $add_access= check_access_control($this->data['userdata'],'cash_master','add');
            $edit_access= check_access_control($this->data['userdata'],'cash_master','edit');
           
           
            $this->data['page_title']='Cash Setups';

            $this->data['fiscal_year']=fiscalyear(2000);

            if($view_access=='yes'){

                $view='master/vw_cashes';
                    if($add_access=='yes'){


                        
                        $this->data['add_access']='yes';

                    }
                    else{
                        $this->data['add_access']='no';


                    }
                    if(!empty($balance_id)){
                        if( $edit_access=='yes'){
                        $this->data['edit_access']=$edit_access;
                                $balance_id=decode_data($balance_id);

                                

                                $this->data['cash_data']=$this->sm->get_cash_balance(array('balance_id'=>$balance_id));
                            /*  print_obj($this->data['cash_data']);
                                die();*/
                                $this->data['edit_access']='yes';



                                
                        }


                        else{
                        $this->data['edit_access']='no';

                        }
                            }


                                }

                                else{
                                        

                                    $view='hrm/vw_permission_denied';
                                }

                                $this->theme->title($this->data['page_title'])->load($view, $this->data);

                                


                            }else{

                                redirect($this->data['base_url']);
                            }
                        }
                        public function  onDeleteCashBalanceList(){

                            if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
                        
                                if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                                $delete_access=check_access_control($this->data['userdata'],'lms_books_athors','delete');
                    
                                
                    
                                        if($delete_access=='yes'){
                    
                                    $balance_id=post_data('balance_id');
                        
                                    if(!empty($balance_id)){
                                        $balance_id=decode_data($balance_id);
                        
                                        $cash_data=$this->sm->delete_cash_data(array('balance_id'=>$balance_id));
                        
                                        if(!empty($cash_data)){
                        
                                            
                                            if($cash_data){
                        
                        
                        
                                                $return['success']='cash has been removed from the system.';
                                            }else{
                                                $return['error']='cash can not be removed';
                                            }
                        
                        
                                        }else{
                                            $return['error']='cash data not found in the system';
                                        }
                        
                                    }else{
                                        $return['error']='No cash data found';
                                    }
                                }
                                else{
                    
                                    $return['error']='you dont have a   permission  to delete this  author';
                    
                                }
                                    json_headers($return);
                        
                                }else{
                                    redirect($this->data['base_url']);
                                }
                            }else{
                                redirect($this->data['base_url']);
                            }



                        }

                        public function  onSearchCashBalanceList(){
                            if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
                                if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                                
                                
                                    $edit_access= check_access_control($this->data['userdata'],'cash_master','edit');
                                    $delete_access= check_access_control($this->data['userdata'],'cash_master','delete');
                                    $institute_data=check_institute($this->data['userdata']);
                                    $inst_id=$institute_data['institute_id'];

                                    $param['inst_id']=$inst_id;
                                    $param['column_order'] = array(
                                        null,
                                        'balance_financial_year'
                                    );

                                    $param['column_search'] = array('balance_financial_year');
                                    $param['order'] = array('balance_id' => 'DESC');
                                    $posts=$this->input->post();

                                    $list = $this->sm->_get_cash_balance($posts,$param,FALSE,FALSE);               
                                    
                                    $data = array();
                                    $no = isset($posts['start'])?$posts['start']:0;

                                    $action='';

                                    foreach ($list as $bank){
                                        $no++;

                                        $row = array();

                                        $row[]  =   $no;
                                        $row[]  =   $bank->balance_financial_year;
                                        $row[]  =   number_format($bank->balance_opening_amount,2);
                                        $row[]  =   number_format($bank->balance_adjusted_amount,2);                    
                                        $row[]  =   date('d-m-Y',strtotime($bank->balance_created_at));
                                    /* print_obj($bank);
                                        die();*/
                                        
                                    
                                        if($bank->balance_status=='active'){
                                        
                                                    if($edit_access=='yes' &&  $delete_access=='yes')
                                                    {  
                                                        $action='  <a class="btn btn-xs btn-info" href="'.$this->data['base_url'].'/cashes/'.encode_data($bank->balance_id).'" ><i class="fa fa-edit"></i></a>
                                                        <button class="btn btn-xs btn-danger    btn-del-cash  "   data-cash_id="'.encode_data($bank->balance_id).'"><i class="fa fa-trash"></i></button>';
                                                    }
                                                else if($edit_access=='yes'){
                                                    $action='<a class="btn btn-xs btn-info" href="'.$this->data['base_url'].'/cashes/'.encode_data($bank->balance_id).'" ><i class="fa fa-edit"></i></a>
                                                        ';
                                                }
                    else  if($delete_access=='yes'){

                        $action='<button class="btn btn-xs btn-danger   btn-del-cash "  data-cash_id="'.encode_data($bank->balance_id).'"><i class="fa fa-trash"></i></button>';


                    }
                    else
                    {
                        $action='Not permitted';

                    }

                 
                    }else{
                        $action='';
                    }

                    $row[]  =   $action;

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sm->_get_cash_balance($posts,$param,TRUE),
                    "recordsFiltered" => $this->sm->_get_cash_balance($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onAddEditCashBalance(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $cash_id=decode_data(post_data('cash_id'));
              
                $balance_amount=post_data('cash_opening_balance');
                $financial_year=post_data('cash_balance_fiscal_year');

                $institute_data=check_institute($this->data['userdata']);
                $inst_id=$institute_data['institute_id'];
                $inst_type=$institute_data['inst_type'];

                $creator_id=$this->data['userdata']->user_id;

                $bank_id=decode_data($bank_id);
                if(empty($cash_id)){
                $get_balance_data=$this->sm->get_cash_balance(array('balance_inst_id'=>$inst_id,'balance_status'=>'active'));
                  /*  print_obj($get_balance_data);
                    die();*/
                $data_to_insert=array(
                    'balance_inst_id'=>$inst_id,
                    'balance_opening_amount'=>$balance_amount,
                    'balance_financial_year'=>$financial_year,
                    'balance_status'=>'active',
                    'balance_created_by'=>$creator_id
                );

                $balance_id=$this->sm->store_cash_balance_data($data_to_insert);
                //print($balance_id);
                //die();
              /*  print($cash_id);
                die();*/
                   
                if($balance_id){
                    if(!empty($get_balance_data)){
                        $this->sm->update_cash_balance_data(array('balance_status'=>'inactive','balance_updated_at'=>date('Y-m-d H:i:s'),'balance_updated_by'=>$creator_id),array('balance_id!='=>$balance_id));
                    }

                    $return['success']='Balance added successfully';
                }else{
                    $return['error']='Balance not added.';
                }
            }
            else{
                    
                $updated_cash=$this->sm->update_cash_balance_data(array('balance_opening_amount'=>$balance_amount,'balance_financial_year'=>$financial_year,'balance_updated_by'=>$creator_id),array('balance_id'=>$cash_id));

                if($updated_cash){
                    
                    $return['success']='Balance  updated successfully';
                }
                else{
                    $return['error']='Balance not updated.';



                }
            }



                json_headers($return);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }

    //Cash Details
}

MMCT - 2023