cek all spesialis
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -134,6 +134,7 @@ Route::prefix('internal')->group(function () {
|
||||
Route::get('corporates/{corporate_id}/services/{service_code}', [CorporateServiceController::class, 'corporateServiceIndex']);
|
||||
Route::put('corporates/{corporate_id}/services/{service_code}', [CorporateServiceController::class, 'corporateServiceUpdate']);
|
||||
Route::post('corporates/{corporate_id}/services/{service_code}/specialities', [CorporateServiceController::class, 'corporateServiceSpecialityUpdate']);
|
||||
Route::post('corporates/{corporate_id}/services/{service_code}/specialities-all', [CorporateServiceController::class, 'corporateServiceSpecialityAllUpdate']);
|
||||
Route::post('corporates/{corporate_id}/services/{service_code}/specialities/exclusion', [CorporateServiceController::class, 'storeExclusion']);
|
||||
|
||||
Route::get('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'index']);
|
||||
|
||||
@@ -230,9 +230,46 @@ export default function Divisions() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleToggleSpecialityAll = (
|
||||
event: ChangeEvent<HTMLInputElement>,
|
||||
service: any,
|
||||
specialityAll: boolean
|
||||
) => {
|
||||
console.log('Changing Service ', service, 'and', specialityAll);
|
||||
try {
|
||||
axios
|
||||
.post(`/corporates/${corporate_id}/services/${service_code}/specialities-all`, {
|
||||
active: specialityAll,
|
||||
})
|
||||
.then((res) => {
|
||||
setService({
|
||||
...service,
|
||||
selected_specialities: res.data?.selected_specialities,
|
||||
exclusions: res.data?.service?.exclusions,
|
||||
});
|
||||
// let newConfigurations = service.configurations
|
||||
// newConfigurations[res.data.name] = res.data.value == true
|
||||
|
||||
// setService({
|
||||
// ...service,
|
||||
// configurations: { ...newConfigurations }
|
||||
// })
|
||||
enqueueSnackbar('Speciality Updated', {
|
||||
variant: 'success',
|
||||
});
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
enqueueSnackbar('Speciality Update Failed', {
|
||||
variant: 'error',
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const [minAge, setMinAge] = useState('');
|
||||
const [maxAge, setMaxAge] = useState('');
|
||||
const [valuePlan, setValuePlan] = useState([]);
|
||||
const [checkAll, setCheckAll] = useState(false);
|
||||
|
||||
const [exclusion, setExclusion] = useState([
|
||||
{
|
||||
@@ -263,6 +300,11 @@ export default function Divisions() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleCheckAll = (event, checkAll) => {
|
||||
setCheckAll(!checkAll); // Membalik nilai checkAll saat checkbox di klik
|
||||
handleToggleSpecialityAll(event, service, !checkAll)
|
||||
};
|
||||
|
||||
// const handleSubmit = (event: any, service: any, row: any) => {
|
||||
// const allData = exclusion.find((item: any) => item.speciality_id === row.id);
|
||||
|
||||
@@ -494,7 +536,7 @@ export default function Divisions() {
|
||||
<FormControlLabel
|
||||
control={
|
||||
<Checkbox
|
||||
checked={service?.configurations?.sp_external_doctor_online == '1'}
|
||||
checked={ service?.configurations?.sp_external_doctor_online == '1'}
|
||||
onChange={(event) => {
|
||||
handleConfigChange(event, service);
|
||||
}}
|
||||
@@ -662,7 +704,7 @@ export default function Divisions() {
|
||||
alignItems="center"
|
||||
>
|
||||
<Typography id="modal-modal-title" variant="h6" color={'#FFF'} component="h2">
|
||||
Specialities
|
||||
Specialities Exclusion
|
||||
</Typography>
|
||||
<Button
|
||||
sx={{ color: '#FFF' }}
|
||||
@@ -680,10 +722,11 @@ export default function Divisions() {
|
||||
<TableHead>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Checkbox
|
||||
|
||||
/>
|
||||
|
||||
<Checkbox
|
||||
onClick={(event) => handleCheckAll(event, checkAll)}
|
||||
checked={checkAll} // Ini penting untuk memastikan status checkbox sesuai dengan state checkAll
|
||||
content='test'
|
||||
/>
|
||||
</TableCell>
|
||||
<TableCell sx={{ width: 10 }}>Specialitation</TableCell>
|
||||
<TableCell>MSC</TableCell>
|
||||
@@ -708,6 +751,7 @@ export default function Divisions() {
|
||||
checked={Object.keys(service.selected_specialities).includes(
|
||||
String(row.id)
|
||||
)}
|
||||
// checked={checkAll}
|
||||
onChange={(event) => {
|
||||
handleToggleSpeciality(event, service, row);
|
||||
}}
|
||||
@@ -725,6 +769,7 @@ export default function Divisions() {
|
||||
(item: { speciality_id: any; msc: { m: string } }) =>
|
||||
item.speciality_id == row.id && item.msc?.m == '1'
|
||||
)}
|
||||
// checked={true}
|
||||
onChange={(event) => {
|
||||
handleConfigExclusion(event, service, row, 'm', 'msc');
|
||||
}}
|
||||
@@ -739,6 +784,7 @@ export default function Divisions() {
|
||||
(item: { speciality_id: any; msc: { s: string } }) =>
|
||||
item.speciality_id == row.id && item.msc?.s == '1'
|
||||
)}
|
||||
// checked={true}
|
||||
onChange={(event) => {
|
||||
handleConfigExclusion(event, service, row, 's', 'msc');
|
||||
}}
|
||||
@@ -775,6 +821,7 @@ export default function Divisions() {
|
||||
item.speciality_id == row.id &&
|
||||
item.gender?.male == '1'
|
||||
)}
|
||||
// checked={true}
|
||||
onChange={(event) => {
|
||||
handleConfigExclusion(
|
||||
event,
|
||||
|
||||
Reference in New Issue
Block a user