diff --git a/Modules/Internal/Http/Controllers/Api/CorporateServiceController.php b/Modules/Internal/Http/Controllers/Api/CorporateServiceController.php index 556bcf5c..18f98f80 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateServiceController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateServiceController.php @@ -234,6 +234,15 @@ class CorporateServiceController extends Controller 'active' => false, ]); + $corporateServiceSpecialityRule->exclusions()->updateOrCreate([ + 'corporate_id' => $corporate_id, + 'service_code' => $service_code, + ], [ + 'corporate_id' => $corporate_id, + 'service_code' => $service_code, + 'type' => 'speciality', + ]); + } else { $corporateServiceSpecialityRule->exclusions()->updateOrCreate([ 'corporate_id' => $corporate_id, 'service_code' => $service_code, @@ -245,22 +254,24 @@ class CorporateServiceController extends Controller } $exclusion = $corporateServiceSpecialityRule->exclusions()->where('corporate_id', $corporate_id)->where('service_code', $service_code)->first(); - - $exclusion_rule = $exclusion->rules()->updateOrCreate([ - 'exclusion_id' => $exclusion->id, - 'name' => 'msc', - ], [ - 'name' => 'msc', - 'values' => $request->active ? 'm,s,c' : '', - ]); - - $exclusion_rule = $exclusion->rules()->updateOrCreate([ - 'exclusion_id' => $exclusion->id, - 'name' => 'gender', - ], [ - 'name' => 'gender', - 'values' => $request->active ? 'male,female' : '', - ]); + + // if($exclusion){ + $exclusion_rule = $exclusion->rules()->updateOrCreate([ + 'exclusion_id' => $exclusion->id, + 'name' => 'msc', + ], [ + 'name' => 'msc', + 'values' => $request->active ? 'm,s,c' : '', + ]); + + $exclusion_rule = $exclusion->rules()->updateOrCreate([ + 'exclusion_id' => $exclusion->id, + 'name' => 'gender', + ], [ + 'name' => 'gender', + 'values' => $request->active ? 'male,female' : '', + ]); + // } } } diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php index a42dbd15..dca06def 100644 --- a/Modules/Internal/Services/MemberEnrollmentService.php +++ b/Modules/Internal/Services/MemberEnrollmentService.php @@ -876,24 +876,69 @@ class MemberEnrollmentService $member->person_id = $person->id; $member->save(); try { - $memberPolicy = MemberPolicy::query() ->where('policy_id', $row['policy_number']) ->where('member_id', $row['member_id']) ->with('member') ->first(); - // Pengecekan jika ada perubahan di plan - $plan = Plan::query() - ->where('code', $row['plan_id']) - ->first(); - if ($plan){ - $memberPlan = MemberPlan::query() - ->where('member_id', $member->id) + // // Pengecekan jika ada perubahan di plan + // $plan = Plan::query() + // ->where('code', $row['plan_id']) + // ->first(); + // if ($plan){ + // $memberPlan = MemberPlan::query() + // ->where('member_id', $member->id) + // ->first(); + // $memberPlan->plan_id = $plan->id; + // $memberPlan->save(); + // } + + // Update plan + $plans = explode(",",$row['plan_id']); + if (count($plans) > 0) { + foreach($plans as $d){ + $plan = Plan::query() + ->where('code', $d) + ->where('corporate_id', $corporate->id) + ->first(); + if (!$plan) { + throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row); + } + $member->memberPlans()->updateOrCreate([ + 'member_id' => $member->id, + 'plan_id' => $plan->id, + ], + [ + 'plan_id' => $plan->id, + 'status' => 'active', + 'start' => $this->dateParser($row['member_effective_date']), + 'end' => $this->dateParser($row['member_expiry_date']), + ]); + } + } else { + $plan = Plan::query() + ->where('code', $row['plan_id']) + ->where('corporate_id', $corporate->id) ->first(); - $memberPlan->plan_id = $plan->id; - $memberPlan->save(); + if (!$plan) { + throw new ImportRowException(__('enrollment.PLAN_NOT_FOUND'), 0, null, $row); + } + $member->memberPlans()->updateOrCreate([ + 'member_id' => $member->id, + 'plan_id' => $plan->id, + ], + [ + 'plan_id' => $plan->id, + 'status' => 'active', + 'start' => $this->dateParser($row['member_effective_date']), + 'end' => $this->dateParser($row['member_expiry_date']), + ]); } + + + // end update plan + // Update jika ada perubahaan di ASO maka akan teriflek ke LMS juga\ $userInsuranceLms = UserInsurance::query() ->where('sNoPolis', $row['member_id']) diff --git a/frontend/dashboard/src/pages/Corporates/Services/Create.tsx b/frontend/dashboard/src/pages/Corporates/Services/Create.tsx index 1670a1da..3b5d9345 100644 --- a/frontend/dashboard/src/pages/Corporates/Services/Create.tsx +++ b/frontend/dashboard/src/pages/Corporates/Services/Create.tsx @@ -725,7 +725,6 @@ export default function Divisions() { handleCheckAll(event, checkAll)} checked={checkAll} // Ini penting untuk memastikan status checkbox sesuai dengan state checkAll - content='test' /> Specialitation