public function add_bed_allotment($data)
 {
     global $wpdb;
     $table_bedallotment = $wpdb->prefix . 'hmgt_bed_allotment';
     $table_hmgt_assign_type = $wpdb->prefix . 'hmgt_assign_type';
     $table_hmgt_guardian = $wpdb->prefix . 'hmgt_inpatient_guardian';
     $table_hmgt_bed = $wpdb->prefix . 'hmgt_bed';
     $table_hmgt_history = $wpdb->prefix . 'hmgt_history';
     $table_hmgt_charges = $wpdb->prefix . 'hmgt_charges';
     //-------usersmeta table data--------------
     $bedallotmnetdata['bed_number'] = $data['bed_number'];
     $bedallotmnetdata['bed_type_id'] = $_POST['bed_type_id'];
     $bedallotmnetdata['patient_id'] = $_POST['patient_id'];
     $bedallotmnetdata['patient_status'] = $_POST['patient_status'];
     $bedallotmnetdata['allotment_date'] = $_POST['allotment_date'];
     $bedallotmnetdata['discharge_time'] = $_POST['discharge_time'];
     $bedallotmnetdata['allotment_description'] = $_POST['allotment_description'];
     $bedallotmnetdata['created_date'] = date("Y-m-d");
     $bedallotmnetdata['allotment_by'] = get_current_user_id();
     $guardian = get_guardian_name($_POST['patient_id']);
     $patient_satus['patient_status'] = $_POST['patient_status'];
     $patient_id['patient_id'] = $_POST['patient_id'];
     if (!empty($guardian)) {
         $result = $wpdb->update($table_hmgt_guardian, $patient_satus, $patient_id);
     } else {
         $wpdb->insert($table_hmgt_guardian, array("patient_status" => $_POST['patient_status'], "patient_id" => $_POST['patient_id']));
     }
     if ($bedallotmnetdata['discharge_time'] >= date('Y-m-d')) {
         $bed['status'] = 1;
         $bedid['bed_id'] = $data['bed_number'];
         //$result=$wpdb->update( $table_hmgt_bed, $bed,$bedid);
     }
     $history['patient_id'] = $_POST['patient_id'];
     $history['status'] = $_POST['patient_status'];
     $history['bed_number'] = $data['bed_number'];
     if (!empty($guardian)) {
         $history['guardian_name'] = $guardian->first_name . " " . $guardian->last_name;
     } else {
         $history['guardian_name'] = "";
     }
     $history['history_type'] = "bed_assign";
     $history['history_date'] = date("Y-m-d H:i:s");
     $history['created_by'] = get_current_user_id();
     $bed_type = $this->get_bedtype_name($bedallotmnetdata['bed_type_id']);
     $bed_number = $this->get_bed_number($bedallotmnetdata['bed_number']);
     $charge_type = 'Bed charge';
     $startTimeStamp = strtotime($bedallotmnetdata['allotment_date']);
     $endTimeStamp = strtotime($bedallotmnetdata['discharge_time']);
     $timeDiff = abs($endTimeStamp - $startTimeStamp);
     $numberDays = $timeDiff / 86400;
     // 86400 seconds in one day
     // and you might want to convert to integer
     $numberDays = intval($numberDays) + 1;
     $get_bedrow = $this->get_single_bed($bedallotmnetdata['bed_number']);
     $single_bed_charge = $get_bedrow->bed_charges;
     $total_bed_charge = $single_bed_charge * $numberDays;
     $charge_data['charge_label'] = 'Bed Charges';
     $charge_data['charge_type'] = 'bed';
     $charge_data['room_number'] = $bed_number;
     $charge_data['bed_type'] = $bed_type;
     $charge_data['charges'] = $total_bed_charge;
     $charge_data['patient_id'] = $bedallotmnetdata['patient_id'];
     $charge_data['status'] = 0;
     $charge_data['created_date'] = date("Y-m-d");
     $charge_data['created_by'] = get_current_user_id();
     if ($data['action'] == 'edit') {
         $allotmentid['bed_allotment_id'] = $data['allotment_id'];
         $charge_referid['refer_id'] = $data['allotment_id'];
         $charge_referid['charge_type'] = 'bed';
         $result = $wpdb->update($table_bedallotment, $bedallotmnetdata, $allotmentid);
         $this->delete_assign_byparent($allotmentid['bed_allotment_id']);
         if (!empty($data['nurse'])) {
             foreach ($data['nurse'] as $id) {
                 $assign_data['child_id'] = $id;
                 $assign_data['parent_id'] = $allotmentid['bed_allotment_id'];
                 $assign_data['assign_type'] = 'nurse-bedallotment';
                 $assign_data['assign_date'] = date("Y-m-d");
                 $assign_data['assign_by'] = get_current_user_id();
                 $wpdb->insert($table_hmgt_assign_type, $assign_data);
             }
         }
         $wpdb->update($table_hmgt_charges, $charge_data, $charge_referid);
         hmgt_append_audit_log('update bed allotment detail ', get_current_user_id());
         return $result;
     } else {
         $result = $wpdb->insert($table_bedallotment, $bedallotmnetdata);
         $allotment_id = $wpdb->insert_id;
         hmgt_append_audit_log('Add new bed allotment ', get_current_user_id());
         if (!empty($data['nurse'])) {
             foreach ($data['nurse'] as $id) {
                 $assign_data['child_id'] = $id;
                 $assign_data['parent_id'] = $allotment_id;
                 $assign_data['assign_type'] = 'nurse-bedallotment';
                 $assign_data['assign_date'] = date("Y-m-d");
                 $assign_data['assign_by'] = get_current_user_id();
                 $wpdb->insert($table_hmgt_assign_type, $assign_data);
             }
         }
         $charge_data['refer_id'] = $allotment_id;
         $history['parent_id'] = $allotment_id;
         $wpdb->insert($table_hmgt_charges, $charge_data);
         $wpdb->insert($table_hmgt_history, $history);
         return $result;
     }
 }
 public function hmgt_add_operation_theater($data)
 {
     global $wpdb;
     $table_ot = $wpdb->prefix . 'hmgt_ot';
     $table_hmgt_assign_type = $wpdb->prefix . 'hmgt_assign_type';
     $table_hmgt_charges = $wpdb->prefix . 'hmgt_charges';
     $table_hmgt_history = $wpdb->prefix . 'hmgt_history';
     $table_hmgt_guardian = $wpdb->prefix . 'hmgt_inpatient_guardian';
     //-------usersmeta table data--------------
     $ot_data['operation_title'] = $data['operation_title'];
     $ot_data['patient_id'] = $data['patient_id'];
     $ot_data['patient_status'] = $data['patient_status'];
     $ot_data['bed_type_id'] = $data['bed_type_id'];
     $ot_data['bednumber'] = $data['bednumber'];
     $ot_data['operation_date'] = $data['operation_date'];
     $ot_data['operation_time'] = $data['operation_time'];
     $ot_data['ot_description'] = $data['ot_description'];
     $ot_data['operation_charge'] = $data['operation_charge'];
     $ot_data['ot_create_date'] = date("Y-m-d");
     $ot_data['ot_create_by'] = get_current_user_id();
     //	$ot_data['doctor_id']=$data['doctor'];
     $guardian = get_guardian_name($_POST['patient_id']);
     $history['patient_id'] = $_POST['patient_id'];
     $history['status'] = $_POST['patient_status'];
     $history['bed_number'] = $data['bednumber'];
     if (!empty($guardian)) {
         $history['guardian_name'] = $guardian->first_name . " " . $guardian->last_name;
     } else {
         $history['guardian_name'] = "";
     }
     $history['history_type'] = "operation";
     $history['history_date'] = date("Y-m-d H:i:s");
     $history['created_by'] = get_current_user_id();
     $bed_type = $this->get_bedtype_name($ot_data['bed_type_id']);
     $bed_number = $this->get_bed_number($ot_data['bednumber']);
     $get_bedrow = $this->get_single_bed($ot_data['bednumber']);
     $single_bed_charge = $get_bedrow->bed_charges;
     $total_bed_charge = $single_bed_charge + $ot_data['operation_charge'];
     $charge_data['charge_label'] = 'operation Charge';
     $charge_data['charge_type'] = 'operation';
     $charge_data['room_number'] = $bed_number;
     $charge_data['bed_type'] = $bed_type;
     $charge_data['charges'] = $total_bed_charge;
     $charge_data['patient_id'] = $ot_data['patient_id'];
     $charge_data['status'] = 0;
     //$charge_data['refer_id']=1;
     $charge_data['created_date'] = date("Y-m-d");
     $charge_data['created_by'] = get_current_user_id();
     $patient_satus['patient_status'] = $_POST['patient_status'];
     $patient_id['patient_id'] = $_POST['patient_id'];
     if (!empty($guardian)) {
         $result = $wpdb->update($table_hmgt_guardian, $patient_satus, $patient_id);
     } else {
         $wpdb->insert($table_hmgt_guardian, array("patient_status" => $_POST['patient_status'], "patient_id" => $_POST['patient_id']));
     }
     //$result=$wpdb->update( $table_hmgt_guardian, $patient_satus,$patient_id);
     if ($data['action'] == 'edit') {
         $ot_id['operation_id'] = $data['operation_id'];
         $charge_referid['refer_id'] = $data['operation_id'];
         $charge_referid['charge_type'] = 'operation';
         $result = $wpdb->update($table_ot, $ot_data, $ot_id);
         $this->delete_assign_byparant($ot_id['operation_id']);
         if (!empty($data['doctor'])) {
             foreach ($data['doctor'] as $id) {
                 $assign_data['child_id'] = $id;
                 $assign_data['parent_id'] = $data['operation_id'];
                 $assign_data['assign_type'] = 'operation_theater';
                 $assign_data['assign_date'] = date("Y-m-d");
                 $assign_data['assign_by'] = get_current_user_id();
                 $wpdb->insert($table_hmgt_assign_type, $assign_data);
             }
         }
         $wpdb->update($table_hmgt_charges, $charge_data, $charge_referid);
         hmgt_append_audit_log('Update operation detail  ', get_current_user_id());
         return $result;
     } else {
         $result = $wpdb->insert($table_ot, $ot_data);
         $ot_id = $wpdb->insert_id;
         $charge_data['refer_id'] = $ot_id;
         if (!empty($data['doctor'])) {
             foreach ($data['doctor'] as $id) {
                 $assign_data['child_id'] = $id;
                 $assign_data['parent_id'] = $ot_id;
                 $assign_data['assign_type'] = 'operation_theater';
                 $assign_data['assign_date'] = date("Y-m-d");
                 $assign_data['assign_by'] = get_current_user_id();
                 $wpdb->insert($table_hmgt_assign_type, $assign_data);
             }
         }
         hmgt_append_audit_log('Add new operation detail ', get_current_user_id());
         $wpdb->insert($table_hmgt_charges, $charge_data);
         $wpdb->insert($table_hmgt_history, $history);
         return $result;
     }
     return $result;
 }