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