cek all spesialis

This commit is contained in:
2023-11-15 14:18:05 +07:00
parent 643fd2b6cd
commit 0dc10587a8
4 changed files with 156 additions and 11 deletions

View File

@@ -756,6 +756,7 @@ class ClaimController extends Controller
->leftJoin('corporate_benefits','corporate_benefits.plan_id', '=', 'member_plans.plan_id')
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
->where('member_plans.member_id', '=', $data_claim_requests->member_id)
->where('member_plans.plan_id', '=', $plan_id->plan_id)
->select('benefits.code', 'benefits.description', 'benefits.id')
->get();
$results['benefit_name'] = $benefit_name;

View File

@@ -154,8 +154,6 @@ class CorporateServiceController extends Controller
public function corporateServiceSpecialityUpdate(Request $request, $corporate_id, $service_code)
{
// return response()->json([$request->checked, $request->value, $request->speciality_id]);
$corporateService = CorporateService::query()
@@ -163,7 +161,6 @@ class CorporateServiceController extends Controller
->where('service_code', $service_code)
->first();
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
'corporate_service_id' => $corporateService->id,
'speciality_id' => $request->speciality_id,
@@ -193,6 +190,105 @@ class CorporateServiceController extends Controller
return response()->json($selected_specialities);
}
public function corporateServiceSpecialityAllUpdate(Request $request, $corporate_id, $service_code)
{
// return response()->json([$request->checked, $request->value, $request->speciality_id]);
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->first();
$specialities = Speciality::get()->toArray();
if ($specialities){
foreach($specialities as $s){
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
'corporate_service_id' => $corporateService->id,
'speciality_id' => $s['id'],
], [
'corporate_service_id' => $corporateService->id,
'speciality_id' => $s['id'],
'active' => $request->active
]);
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
'corporate_service_id' => $corporateService->id,
'speciality_id' => $s['id'],
], [
'corporate_service_id' => $corporateService->id,
'speciality_id' => $s['id'],
'active' => $request->active
]);
$corporateServiceSpecialityRule = CorporateServiceSpeciality::where('corporate_service_id', $corporateService->id)
->where('speciality_id', $s['id'])
->with('exclusions.rules')
->first();
// Exclusion Rules
if (empty($corporateServiceSpecialityRule)) {
$corporateServiceSpecialityRule = CorporateServiceSpeciality::create([
'corporate_service_id' => $corporateService->id,
'speciality_id' => $s['id'],
'active' => false,
]);
$corporateServiceSpecialityRule->exclusions()->updateOrCreate([
'corporate_id' => $corporate_id,
'service_code' => $service_code,
], [
'corporate_id' => $corporate_id,
'service_code' => $service_code,
'type' => 'speciality',
]);
}
$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' : '',
]);
}
}
$exclusion = $corporateServiceSpeciality->exclusions()->updateOrCreate([
'corporate_id' => $corporate_id,
'service_code' => $service_code,
], [
'corporate_id' => $corporate_id,
'service_code' => $service_code,
'type' => 'speciality',
]);
$selected_specialities = CorporateServiceSpeciality::query()
->where('corporate_service_id', $corporateService->id)
->where('active', true)
->with('speciality')
->get()
->pluck('speciality.name', 'speciality.id');
// return response()->json($selected_specialities);
return response()->json([
'selected_specialities' => $selected_specialities,
'service' => CorporateServiceConfigResource::make($corporateService),
]);
}
public function storeExclusion(Request $request, $corporate_id, $service_code)
{
@@ -227,12 +323,10 @@ class CorporateServiceController extends Controller
if ($request->type == 'msc') {
$value_input = $request->value;
$current_msc = $exclusion->rules()->where('name', 'msc')->first()->values ?? null;
if (!empty($current_msc)) {
$values = "";
if ($request->value == 'm' && $request->checked == "1") {
$values = $current_msc . "," . $value_input;
@@ -438,4 +532,6 @@ class CorporateServiceController extends Controller
'service' => CorporateServiceConfigResource::make($corporateService),
]);
}
}