[WIP] Fix Medicine
This commit is contained in:
@@ -18,7 +18,7 @@ class ClaimController extends Controller
|
||||
'member_id' => 'required',
|
||||
'user_id' => 'required',
|
||||
'type' => 'required|in:consultation,teleconsultation,medicine',
|
||||
'speciality_code' => 'required',
|
||||
// 'speciality_code' => 'required',
|
||||
'total_claim' => 'required',
|
||||
'detail' => 'required',
|
||||
]);
|
||||
|
||||
@@ -97,7 +97,11 @@ class MembershipController extends Controller
|
||||
$limits['postponed_claims_payment_url'] = route('postpone-pay', $member->member_id);
|
||||
$limits['postponed_claims_unpaid_total'] = $member->postponedClaims->sum('total_claim');
|
||||
|
||||
$coverage['medicine_benefit'] = $benefitCode == 'OPMEDI1'; // TODO Make this into setting ?
|
||||
$coverage['medicine_benefit'] = false;
|
||||
if ($benefitCode = 'OPMEDI1') {
|
||||
$medicineBenefit = $member->currentPlan->benefits()->where('code', $benefitCode)->wherePivot('active', 1)->first();
|
||||
$coverage['medicine_benefit'] = !empty($medicineBenefit);
|
||||
}
|
||||
$coverage['medicine_delivery_fee'] = (($configs['delivery_fee']['value'] ?? 1) == 1);
|
||||
|
||||
if ($currentSpeciality) {
|
||||
|
||||
@@ -215,6 +215,11 @@ class CorporateBenefit extends Model
|
||||
return $this->belongsTo(Plan::class);
|
||||
}
|
||||
|
||||
public function scopeActive($query)
|
||||
{
|
||||
$query->where('active', 1);
|
||||
}
|
||||
|
||||
public function scopeFilter($query, array $filters)
|
||||
{
|
||||
$query->when($filters['search'] ?? false, function ($query, $search) {
|
||||
|
||||
@@ -112,8 +112,7 @@ class ClaimService{
|
||||
// $policy = $member->currentPolicy;
|
||||
// $corporate = $member->currentCorporate;
|
||||
$benefit = $member->currentPlan->benefits()->where('code', $benefit_code)->first();
|
||||
// dd($member->currentPlan->benefits->toArray());
|
||||
$corporateBenefit = $member->currentPlan->corporateBenefits()->where('benefit_id', $benefit->id)->first();
|
||||
$corporateBenefit = $member->currentPlan->corporateBenefits()->where('benefit_id', $benefit->id)->active()->first();
|
||||
|
||||
// dd($benefit->toArray());
|
||||
// dd(compact(['plan', 'policy', 'corporate', 'benefit']));
|
||||
@@ -129,7 +128,7 @@ class ClaimService{
|
||||
'usage_yearly' => null
|
||||
];
|
||||
|
||||
switch ($corporateBenefit->max_frequency_period) {
|
||||
switch ($corporateBenefit->max_frequency_period ?? 0) {
|
||||
case(0) :
|
||||
$limits['usage_yearly'] = $member->claims()->used(Carbon::now()->firstOfYear(), now())->count();
|
||||
$limits['total_claim'] = $member->claims()->used(Carbon::now()->firstOfYear(), now())->sum('total_claim');
|
||||
@@ -154,7 +153,7 @@ class ClaimService{
|
||||
// return null;
|
||||
break;
|
||||
}
|
||||
$limits['remaining_limit'] = $corporateBenefit->limit_amount - $limits['total_claim'];
|
||||
$limits['remaining_limit'] = ($corporateBenefit->limit_amount ?? 0) - $limits['total_claim'];
|
||||
|
||||
return $limits;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user