mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 19:21:33 +00:00
updated streamline-setup v2
This commit is contained in:
Executable
+67
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DataCorrectionHospitalBillPayableAccountSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeders.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
$bills = \Streamline\Models\HospitalBill::all();
|
||||
|
||||
foreach ($bills as $bill){
|
||||
$payable_account_array = []; $item_amount_paid = []; $item_balance_remaining = []; $deductions = [];
|
||||
$items_array = explode(',', $bill->item_ids);
|
||||
$items_subtotal_array = explode(',', $bill->item_subtotals);
|
||||
|
||||
$bill_balance = $bill->balance;
|
||||
$bill_total = $bill->total_amount;
|
||||
$bill_amount_paid = (is_null($bill_balance) ? 0 : (int)$bill_total - (int)$bill_balance);
|
||||
|
||||
for($x = 0; $x < count($items_array); $x++){
|
||||
|
||||
$new_amount = $bill_amount_paid - array_sum($deductions);
|
||||
|
||||
$payable_account = get_name($items_array[$x], 'id', 'payable_account','payment_items');
|
||||
$payable_account_array[] = ($bill->bill_type == 'GEN') ? $payable_account : 14;
|
||||
|
||||
if(is_null($bill_balance)){
|
||||
|
||||
$item_amount_paid[] = 0;
|
||||
$item_balance_remaining[] = $items_subtotal_array[$x];
|
||||
|
||||
}else if($bill_balance == 0){
|
||||
|
||||
$item_amount_paid[] = $items_subtotal_array[$x];
|
||||
$item_balance_remaining[] = 0;
|
||||
|
||||
}
|
||||
else{
|
||||
|
||||
if($items_subtotal_array[$x] <= $new_amount){
|
||||
|
||||
$item_amount_paid[] = $items_subtotal_array[$x];
|
||||
$item_balance_remaining[] = 0;
|
||||
$deductions[] = $items_subtotal_array[$x];
|
||||
|
||||
}else{
|
||||
|
||||
$item_amount_paid[] = $new_amount;
|
||||
$item_balance_remaining[] = (int)$items_subtotal_array[$x] - (int)$new_amount;
|
||||
$deductions[] = $new_amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
\Streamline\Models\HospitalBill::where('id', $bill->id)->update([
|
||||
'payable_account' => implode(',', $payable_account_array),
|
||||
'item_amount_paid' => implode(',', $item_amount_paid),
|
||||
'item_balance_remaining' => implode(',', $item_balance_remaining)
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user