where('drug_id', $drug_id)->first(); if (!$drug_exists) { $ward_treatments_dispensation = new WardTreatmentDispensation; $ward_treatments_dispensation->patient_id = $patient_id; $ward_treatments_dispensation->episode_id = $episode_id; $ward_treatments_dispensation->drug_id = $drug_id; $ward_treatments_dispensation->quantity_given = $quantity_given; $ward_treatments_dispensation->ward_treatment_id = $ward_treatment_id; $ward_treatments_dispensation->ward_id = $ward_id; $ward_treatments_dispensation->current_chart_of_account = $drug_details->account_id; $ward_treatments_dispensation->cost_price = $drug_details->cost_price; $ward_treatments_dispensation->inventory_account = $drug_details->inventory_account; $ward_treatments_dispensation->cost_of_goods_account = $drug_details->cost_of_goods_account; $ward_treatments_dispensation->batch_id = $batch_id; if(patient_insurance_status($patient_id) == 1){ $drug_insurance_details = get_item_insurance_pricing($patient_id, $drug_id, 4, true, $ward_id); $drug_selling_price = $drug_insurance_details[2]; $ward_treatments_dispensation->chi_price = $drug_insurance_details[1]; } else { $price_list_id = is_patient_category_attached_to_price_list($patient_id); if ($price_list_id) { $drug_selling_price = get_price_list_category_price($price_list_id, 3, $drug_id); } else { $drug_selling_price = $drug_details->non_insured_price; } } $ward_treatments_dispensation->price = $drug_selling_price; $ward_treatments_dispensation->created_by = Auth::id(); $dispensation_history = [[ 'entered_at' => Carbon::now()->toDateTimeString(), 'entered_by' => Auth::id() ]]; $ward_treatments_dispensation->dispensation_history = json_encode($dispensation_history); } else { $ward_treatments_dispensation = $drug_exists; $ward_treatments_dispensation->quantity_given = $ward_treatments_dispensation->quantity_given + $quantity_given; $ward_treatments_dispensation->updated_by = Auth::id(); $dispensation_history = json_decode($ward_treatments_dispensation->dispensation_history, true); if (is_null($ward_treatments_dispensation->dispensation_history)) { $dispensation_history[] = [ 'entered_at' => $ward_treatments_dispensation->created_at->toDateTimeString(), 'entered_by' => $ward_treatments_dispensation->created_by, ]; } $dispensation_history[] = [ 'entered_at' => Carbon::now()->toDateTimeString(), 'entered_by' => Auth::id(), ]; $ward_treatments_dispensation->dispensation_history = json_encode($dispensation_history); } if ($ward_treatments_dispensation->save()) { return $ward_treatments_dispensation->id; } else { return false; } } }