Files
aso/app/Services/ClaimService.php
2022-12-05 16:20:09 +07:00

44 lines
1.1 KiB
PHP

<?php
namespace App\Services;
use App\Models\Claim;
use App\Models\Icd;
use App\Models\Member;
use Carbon\Carbon;
use Str;
class ClaimService{
public function storeClaim($member, $icd, $benefit, $totalClaim)
{
$claim = Claim::create([
'code' => Str::random('16'),
'member_id' => $member->id,
'diagnosis_id' => $icd,
'total_claim' => $totalClaim,
'currency' => 'IDR',
'plan_id' => $member->currentPlan->id,
'benefit_id' => $benefit->id,
]);
$corporate = $member->asd;
return $claim;
}
public static function getMemberTotalUsage(Member $member, $startDate = null, $endDate = null)
{
$startDate = empty($startDate) ? Carbon::now()->startOfMonth() : $startDate;
$endDate = empty($endDate) ? Carbon::now()->startOfMonth() : $endDate;
$claims = $member->claims()
->used($startDate, $endDate)
->get();
$total = $claims->sum(function($claim){
return $claim->total_claim;
});
return $total;
}
}