[WIP] Fix Medicine

This commit is contained in:
R
2023-01-13 08:19:43 +07:00
parent 2f10f913c0
commit e116fb814a
4 changed files with 14 additions and 6 deletions

View File

@@ -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',
]);

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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;
}