bugs checked, exclusin age, masih ada bugs value
This commit is contained in:
@@ -12,6 +12,7 @@ use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Modules\Internal\Transformers\CorporateServiceConfigResource;
|
||||
use Termwind\Components\Dd;
|
||||
|
||||
class CorporateServiceController extends Controller
|
||||
{
|
||||
@@ -98,7 +99,19 @@ class CorporateServiceController extends Controller
|
||||
|
||||
public function corporateServiceIndex($corporate_id, $service_code)
|
||||
{
|
||||
$corporate = Corporate::findOrFail($corporate_id);
|
||||
$corporate = Corporate::findOrFail($corporate_id)->with(['plans'])->first();
|
||||
$plans = $corporate['plans']->map(function ($plan) {
|
||||
return [
|
||||
'id' => $plan['id'],
|
||||
'code' => $plan['code'],
|
||||
'corporate_id' => $plan['corporate_id'],
|
||||
'corporate_plan_id' => $plan['corporate_plan_id'],
|
||||
];
|
||||
});
|
||||
|
||||
unset($corporate['plans']);
|
||||
$corporate['plans'] = $plans;
|
||||
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporate_id)
|
||||
->where('service_code', $service_code)
|
||||
@@ -111,7 +124,6 @@ class CorporateServiceController extends Controller
|
||||
'specialities.exclusions.rules'
|
||||
])
|
||||
->first();
|
||||
|
||||
// $service = CorporateServiceConfigResource::make($corporateService);
|
||||
$specialities = Speciality::get();
|
||||
|
||||
@@ -144,7 +156,7 @@ class CorporateServiceController extends Controller
|
||||
{
|
||||
|
||||
|
||||
// return response()->json([$request->msc, $request->name, $request->speciality_id]);
|
||||
// return response()->json([$request->checked, $request->value, $request->speciality_id]);
|
||||
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporate_id)
|
||||
@@ -191,53 +203,164 @@ class CorporateServiceController extends Controller
|
||||
|
||||
$corporateServiceSpeciality = CorporateServiceSpeciality::where('corporate_service_id', $corporateService->id)
|
||||
->where('speciality_id', $request->speciality_id)
|
||||
->with('exclusions.rules')
|
||||
->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',
|
||||
]);
|
||||
|
||||
$exclusion = $corporateServiceSpeciality->exclusions()->where('corporate_id', $corporate_id)->where('service_code', $service_code)->first();
|
||||
// dd($exclusion);
|
||||
// ->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";
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
if ($request->value == 's' && $request->checked == "1") {
|
||||
$values = $current_msc . "," . $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'c' && $request->checked == "1") {
|
||||
$values = $current_msc . "," . $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'm' && $request->checked == "0") {
|
||||
$values = str_replace($value_input, "", $current_msc);
|
||||
$values = str_replace(",,", ",", $values);
|
||||
$values = trim($values, ",");
|
||||
}
|
||||
|
||||
if ($request->value == 's' && $request->checked == "0") {
|
||||
$values = str_replace($value_input, "", $current_msc);
|
||||
$values = str_replace(",,", ",", $values);
|
||||
$values = trim($values, ",");
|
||||
}
|
||||
|
||||
if ($request->value == 'c' && $request->checked == "0") {
|
||||
$values = str_replace($value_input, "", $current_msc);
|
||||
$values = str_replace(",,", ",", $values);
|
||||
$values = trim($values, ",");
|
||||
}
|
||||
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'msc',
|
||||
], [
|
||||
'name' => 'msc',
|
||||
'values' => $values,
|
||||
]);
|
||||
} else {
|
||||
$m = "";
|
||||
}
|
||||
if ($request->value == 'm' && $request->checked == "1") {
|
||||
$values = $value_input;
|
||||
}
|
||||
|
||||
if ($request->name == 'spouse' && $request->msc == "1") {
|
||||
$s = "s";
|
||||
if ($request->value == 's' && $request->checked == "1") {
|
||||
$values = $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'c' && $request->checked == "1") {
|
||||
$values = $value_input;
|
||||
}
|
||||
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'msc',
|
||||
], [
|
||||
'name' => 'msc',
|
||||
'values' => $values,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->type == 'gender') {
|
||||
$value_input = $request->value;
|
||||
$current_gender = $exclusion->rules()->where('name', 'gender')->first()->values ?? null;
|
||||
|
||||
if (!empty($current_gender)) {
|
||||
$values = "";
|
||||
if ($request->value == 'male' && $request->checked == "1") {
|
||||
$values = $current_gender . "," . $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'female' && $request->checked == "1") {
|
||||
$values = $current_gender . "," . $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'male' && $request->checked == "0") {
|
||||
if (substr($current_gender, 0, 4) == "male") {
|
||||
$values = str_replace($value_input, "", $value_input) . substr($current_gender, 5, 10);
|
||||
} else {
|
||||
$values = str_replace($value_input, "", $value_input) . substr($current_gender, 0, 6);
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->value == 'female' && $request->checked == "0") {
|
||||
$values = str_replace($value_input, "", $current_gender);
|
||||
$values = str_replace(",,", ",", $values);
|
||||
$values = trim($values, ",");
|
||||
}
|
||||
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'gender',
|
||||
], [
|
||||
'name' => 'gender',
|
||||
'values' => $values,
|
||||
]);
|
||||
} else {
|
||||
$s = "";
|
||||
if ($request->value == 'male' && $request->checked == "1") {
|
||||
$values = $value_input;
|
||||
}
|
||||
|
||||
if ($request->value == 'female' && $request->checked == "1") {
|
||||
$values = $value_input;
|
||||
}
|
||||
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'gender',
|
||||
], [
|
||||
'name' => 'gender',
|
||||
'values' => $values,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->name == 'child' && $request->msc == "1") {
|
||||
$c = "c";
|
||||
} else {
|
||||
$c = "";
|
||||
}
|
||||
|
||||
$values = $m . $s . $c;
|
||||
|
||||
|
||||
|
||||
|
||||
if ($request->type == "min_age") {
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'msc',
|
||||
'name' => 'min_age',
|
||||
], [
|
||||
'name' => 'msc',
|
||||
'values' => $values,
|
||||
'name' => 'min_age',
|
||||
'values' => $request->value,
|
||||
]);
|
||||
}
|
||||
|
||||
if ($request->type == "max_age") {
|
||||
$exclusion_rule = $exclusion->rules()->updateOrCreate([
|
||||
'exclusion_id' => $exclusion->id,
|
||||
'name' => 'max_age',
|
||||
], [
|
||||
'name' => 'max_age',
|
||||
'values' => $request->value,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
$selected_specialities = CorporateServiceSpeciality::query()
|
||||
->where('corporate_service_id', $corporateService->id)
|
||||
->where('active', true)
|
||||
@@ -245,6 +368,22 @@ class CorporateServiceController extends Controller
|
||||
->get()
|
||||
->pluck('speciality.name', 'speciality.id');
|
||||
|
||||
return response()->json($selected_specialities);
|
||||
$corporateService = CorporateService::query()
|
||||
->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();
|
||||
|
||||
return response()->json([
|
||||
'selected_specialities' => $selected_specialities,
|
||||
'service' => CorporateServiceConfigResource::make($corporateService),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user