HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/crm.chaitanyahospitalvirar.com/application/models/Bloodbankstatus_model.php
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}

class Bloodbankstatus_model extends CI_model
{

    public function getBloodGroup($id = null, $type = null)
    {
        if (!empty($id)) {
            $query = $this->db->where("id", $id)->get('blood_bank_products');
            return $query->row_array();
        } else {
            if ($type != null) {
                $query = $this->db->where("is_blood_group", $type)->get("blood_bank_products");
            } else {
                $query = $this->db->get("blood_bank_products");
            }
            return $query->result_array();
        }
    }

    public function getBloodbank($patient_id)
    {
        $i             = 1;
        $custom_fields = $this->customfield_model->get_custom_fields('blood_issue', '', '', '', 1);

        $custom_field_column_array = array();
        $field_var_array           = array();
        if (!empty($custom_fields)) {
            foreach ($custom_fields as $custom_fields_key => $custom_fields_value) {
                $tb_counter = "table_custom_" . $i;
                array_push($custom_field_column_array, 'table_custom_' . $i . '.field_value');
                array_push($field_var_array, '`table_custom_' . $i . '`.`field_value` as `' . $custom_fields_value->name . '`');
                $this->db->join('custom_field_values as ' . $tb_counter, 'blood_issue.id = ' . $tb_counter . '.belong_table_id AND ' . $tb_counter . '.custom_field_id = ' . $custom_fields_value->id, "left");
                $i++;
            }
        }

        $field_variable      = (empty($field_var_array)) ? "" : "," . implode(',', $field_var_array);
        $custom_field_column = (empty($custom_field_column_array)) ? "" : "," . implode(',', $custom_field_column_array);

        $query = $this->db->select('blood_issue.*,sum(transactions.amount)as paid_amount,blood_bank_products.name as blood_group,patients.patient_name,patients.gender,blood_donor.donor_name,blood_donor_cycle.bag_no,blood_donor_cycle.unit' . $field_variable)
            ->join('patients', 'patients.id = blood_issue.patient_id')
            ->join('blood_donor_cycle', 'blood_donor_cycle.id = blood_issue.blood_donor_cycle_id')
            ->join('blood_donor', 'blood_donor_cycle.blood_donor_id = blood_donor.id')
            ->join('blood_bank_products', 'blood_bank_products.id = blood_donor.blood_bank_product_id')
            ->join('transactions', 'transactions.blood_issue_id = blood_issue.id')
            ->group_by('transactions.blood_issue_id')
            ->where('blood_issue.patient_id', $patient_id)
            ->get('blood_issue');
        return $query->result_array();
    }

    public function getBloodbankStatusByid($blood_bank_product_id)
    {
        return $this->db->select('sum(blood_donor_cycle.quantity) as total')
            ->join('blood_donor', 'blood_donor.id=blood_donor_cycle.blood_donor_id')
            ->join('blood_bank_products', 'blood_donor.blood_bank_product_id=blood_bank_products.id')
            ->where('blood_donor.blood_bank_product_id', $blood_bank_product_id)
            ->where('blood_donor_cycle.available', 1)
            ->get('blood_donor_cycle')->row_array();
    }

    public function getBillDetailsBloodbank($id)
    {
        $query = $this->db->select('blood_issue.*,blood_bank_products.name as blood_group,patients.patient_name,patients.gender,blood_donor.donor_name,blood_donor_cycle.bag_no')
            ->join('patients', 'patients.id = blood_issue.patient_id')
            ->join('blood_donor_cycle', 'blood_donor_cycle.id = blood_issue.blood_donor_cycle_id')
            ->join('blood_donor', 'blood_donor_cycle.blood_donor_id = blood_donor.id')
            ->join('blood_bank_products', 'blood_bank_products.id = blood_donor.blood_bank_product_id')
            ->where('blood_issue.id', $id)
            ->get('blood_issue');
        return $query->row_array();
    }

    public function addBloodGroup($data)
    {
        if (isset($data['id'])) {
            $this->db->where('id', $data['id']);
            $this->db->update('blood_bank_status', $data);
        } else {
            $this->db->insert('blood_bank_status', $data);
            return $this->db->insert_id();
        }
    }

    public function getall()
    {
        $this->datatables->select('id,blood_group,status');
        $this->datatables->from('blood_bank_status');
        $this->datatables->add_column('view', '<a href="' . site_url('admin/bloodbankstatuss/edit/$1') . '" class="btn btn-default btn-xs" data-toggle="tooltip" title="" data-original-title="Edit"> <i class="fa fa-pencil"></i></a><a href="' . site_url('admin/bloodgroup/delete/$1') . '" class="btn btn-default btn-xs" data-toggle="tooltip" title="" data-original-title="Delete">
                                                        <i class="fa fa-remove"></i>
                                                    </a>', 'id,status');
        return $this->datatables->generate();
    }

    public function getDatatableAllproducts()
    {
        $this->datatables
            ->select('blood_bank_products.*')
            ->searchable('name')
            ->orderable('name,is_blood_group,volume')
            ->sort('id', 'desc')
            ->from('blood_bank_products');
        return $this->datatables->generate('json');
    }

    public function add_product($data)
    {
        if (isset($data['id']) && $data['id'] != '') {
            $this->db->where('id', $data['id']);
            $this->db->update('blood_bank_products', $data);
        } else {
            $this->db->insert('blood_bank_products', $data);
            return $this->db->insert_id();
        }

    }
    public function valid_product($str)
    {
        $name = $this->input->post('name');
        if ($this->check_name_exists($name)) {
            $this->form_validation->set_message('check_exists', 'Name already exists');
            return false;
        } else {
            return true;
        }
    }

    public function check_name_exists($name)
    {
        $id = $this->input->post("id");
        if ($id != 0) {
            $data  = array('name' => $name, 'id !=' => $id);
            $query = $this->db->where($data)->get('blood_bank_products');

            if ($query->num_rows() > 0) {
                return true;
            } else {
                return false;
            }
        } else {
            $this->db->where('name', $name);
            $query = $this->db->get('blood_bank_products');
            if ($query->num_rows() > 0) {
                return true;
            } else {
                return false;
            }
        }
    }

    public function get_product($id = null, $type = null)
    {
        if ($id != null) {

            $query = $this->db->where("id", $id)->get('blood_bank_products');
            return $query->row_array();

        } else {

            $query   = $this->db->get("blood_bank_products");
            $list    = $query->result_array();
            $product = array();
            foreach ($list as $key => $value) {
                if ($type == '') {
                    $product[$value['id']] = $value['name'];
                } else {
                    if ($type == $value['is_blood_group']) {
                        $product[$value['id']] = $value['name'];
                    }

                }

            }
            return $product;

        }
    }

    public function delete_product($id)
    {
        $this->db->where('id', $id);
        $this->db->delete('blood_bank_products');
        return true;
    }

    public function deleteComponent($id)
    {
        $this->db->where('id', $id);
        $this->db->delete('blood_donor_cycle');
        return true;
    }

    public function updatestockbyid($blood_donor_cycle_id)
    {
        $data = array('available' => 0);
        $this->db->where('id', $blood_donor_cycle_id);
        $this->db->update('blood_donor_cycle', $data);
    }

    public function get_stock_bloodgroup()
    {
        return $this->db->select('blood_bank_products.id,blood_bank_products.name ')->from('blood_donor')->join('blood_bank_products', 'blood_bank_products.id=blood_donor.blood_bank_product_id')->group_by('blood_donor.blood_bank_product_id')->get()->result_array();
    }

    public function validate_paymentamount()
    {
        $payment_amount = $this->input->post('payment_amount');
        $net_amount     = $this->input->post('net_amount');
        if ($payment_amount > $net_amount) {

            $this->form_validation->set_message('check_exists', 'Amount should not be greater than balance ' . $net_amount);
            return false;
        } else {
            return true;
        }

    }

}