add config msc (belum kelar)

This commit is contained in:
pajri
2022-12-22 19:13:24 +07:00
parent b1c908a6f6
commit 2321e708c5
9 changed files with 814 additions and 366 deletions

View File

@@ -74,6 +74,7 @@ class CorporateServiceController extends Controller
public function update(Request $request, $corporate_id)
{
$corporateService = CorporateService::where('corporate_id', $corporate_id)->where('service_code', $request->service_code)->first();
$corporateServiceConfig = $corporateService->configs()->updateOrCreate([
'corporate_service_id' => $corporateService->id,
'name' => $request->config_name
@@ -99,17 +100,21 @@ class CorporateServiceController extends Controller
{
$corporate = Corporate::findOrFail($corporate_id);
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->with(['configs', 'service',
'specialities' => function($speciality) {
$speciality->where('status', 'active');
},
'specialities.speciality'])
->first();
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->with([
'configs', 'service',
'specialities' => function ($speciality) {
$speciality->where('active', true);
},
'specialities.speciality',
'specialities.exclusions.rules'
])
->first();
// $service = CorporateServiceConfigResource::make($corporateService);
$specialities = Speciality::get();
return response()->json(
[
'corporate' => $corporate,
@@ -123,10 +128,10 @@ class CorporateServiceController extends Controller
{
// $corporate = Corporate::findOrFail($corporate_id);
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
// ->with('configs', 'service')
->first();
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
// ->with('configs', 'service')
->first();
$corporateService->fill([
'status' => $request->status == 'active' ? 'active' : 'inactive'
]);
@@ -137,25 +142,108 @@ class CorporateServiceController extends Controller
public function corporateServiceSpecialityUpdate(Request $request, $corporate_id, $service_code)
{
// return response()->json([$request->msc, $request->name, $request->speciality_id]);
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->first();
CorporateServiceSpeciality::updateOrCreate([
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->first();
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
'corporate_service_id' => $corporateService->id,
'speciality_id' => $request->speciality_id,
], [
'corporate_service_id' => $corporateService->id,
'speciality_id' => $request->speciality_id,
'status' => $request->status
'active' => $request->active
]);
$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('status', 'active')
->with('speciality')
->get()
->pluck('speciality.name', 'speciality.id');
->where('corporate_service_id', $corporateService->id)
->where('active', true)
->with('speciality')
->get()
->pluck('speciality.name', 'speciality.id');
return response()->json($selected_specialities);
}
public function storeExclusion(Request $request, $corporate_id, $service_code)
{
$corporateService = CorporateService::query()
->where('corporate_id', $corporate_id)
->where('service_code', $service_code)
->first();
$corporateServiceSpeciality = CorporateServiceSpeciality::where('corporate_service_id', $corporateService->id)
->where('speciality_id', $request->speciality_id)
->first();
// return ([$corporateServiceSpeciality, $request->msc, $request->name, $request->speciality_id, $request->type]);
$exclusion = $corporateServiceSpeciality->exclusions()->updateOrCreate([
'corporate_id' => $corporate_id,
'service_code' => $service_code,
], [
'corporate_id' => $corporate_id,
'service_code' => $service_code,
'type' => 'speciality',
]);
if ($request->type == 'msc') {
if ($request->name == 'member' && $request->msc == "1") {
$m = "m";
} else {
$m = "";
}
if ($request->name == 'spouse' && $request->msc == "1") {
$s = "s";
} else {
$s = "";
}
if ($request->name == 'child' && $request->msc == "1") {
$c = "c";
} else {
$c = "";
}
$values = $m . $s . $c;
$exclusion_rule = $exclusion->rules()->updateOrCreate([
'exclusion_id' => $exclusion->id,
'name' => 'msc',
], [
'name' => 'msc',
'values' => $values,
]);
}
$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);
}