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('corporate_benefits','corporate_benefits.plan_id', '=', 'member_plans.plan_id')
|
||||||
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
|
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
|
||||||
->where('member_plans.member_id', '=', $data_claim_requests->member_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')
|
->select('benefits.code', 'benefits.description', 'benefits.id')
|
||||||
->get();
|
->get();
|
||||||
$results['benefit_name'] = $benefit_name;
|
$results['benefit_name'] = $benefit_name;
|
||||||
|
|||||||
@@ -154,8 +154,6 @@ class CorporateServiceController extends Controller
|
|||||||
|
|
||||||
public function corporateServiceSpecialityUpdate(Request $request, $corporate_id, $service_code)
|
public function corporateServiceSpecialityUpdate(Request $request, $corporate_id, $service_code)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
// return response()->json([$request->checked, $request->value, $request->speciality_id]);
|
// return response()->json([$request->checked, $request->value, $request->speciality_id]);
|
||||||
|
|
||||||
$corporateService = CorporateService::query()
|
$corporateService = CorporateService::query()
|
||||||
@@ -163,7 +161,6 @@ class CorporateServiceController extends Controller
|
|||||||
->where('service_code', $service_code)
|
->where('service_code', $service_code)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
|
||||||
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
|
$corporateServiceSpeciality = CorporateServiceSpeciality::updateOrCreate([
|
||||||
'corporate_service_id' => $corporateService->id,
|
'corporate_service_id' => $corporateService->id,
|
||||||
'speciality_id' => $request->speciality_id,
|
'speciality_id' => $request->speciality_id,
|
||||||
@@ -193,6 +190,105 @@ class CorporateServiceController extends Controller
|
|||||||
return response()->json($selected_specialities);
|
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)
|
public function storeExclusion(Request $request, $corporate_id, $service_code)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -227,12 +323,10 @@ class CorporateServiceController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
if ($request->type == 'msc') {
|
if ($request->type == 'msc') {
|
||||||
|
|
||||||
$value_input = $request->value;
|
$value_input = $request->value;
|
||||||
$current_msc = $exclusion->rules()->where('name', 'msc')->first()->values ?? null;
|
$current_msc = $exclusion->rules()->where('name', 'msc')->first()->values ?? null;
|
||||||
|
|
||||||
if (!empty($current_msc)) {
|
if (!empty($current_msc)) {
|
||||||
|
|
||||||
$values = "";
|
$values = "";
|
||||||
if ($request->value == 'm' && $request->checked == "1") {
|
if ($request->value == 'm' && $request->checked == "1") {
|
||||||
$values = $current_msc . "," . $value_input;
|
$values = $current_msc . "," . $value_input;
|
||||||
@@ -438,4 +532,6 @@ class CorporateServiceController extends Controller
|
|||||||
'service' => CorporateServiceConfigResource::make($corporateService),
|
'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::get('corporates/{corporate_id}/services/{service_code}', [CorporateServiceController::class, 'corporateServiceIndex']);
|
||||||
Route::put('corporates/{corporate_id}/services/{service_code}', [CorporateServiceController::class, 'corporateServiceUpdate']);
|
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', [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::post('corporates/{corporate_id}/services/{service_code}/specialities/exclusion', [CorporateServiceController::class, 'storeExclusion']);
|
||||||
|
|
||||||
Route::get('corporates/{corporate_id}/formulariums', [CorporateFormulariumController::class, 'index']);
|
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 [minAge, setMinAge] = useState('');
|
||||||
const [maxAge, setMaxAge] = useState('');
|
const [maxAge, setMaxAge] = useState('');
|
||||||
const [valuePlan, setValuePlan] = useState([]);
|
const [valuePlan, setValuePlan] = useState([]);
|
||||||
|
const [checkAll, setCheckAll] = useState(false);
|
||||||
|
|
||||||
const [exclusion, setExclusion] = useState([
|
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 handleSubmit = (event: any, service: any, row: any) => {
|
||||||
// const allData = exclusion.find((item: any) => item.speciality_id === row.id);
|
// const allData = exclusion.find((item: any) => item.speciality_id === row.id);
|
||||||
|
|
||||||
@@ -494,7 +536,7 @@ export default function Divisions() {
|
|||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
control={
|
control={
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={service?.configurations?.sp_external_doctor_online == '1'}
|
checked={ service?.configurations?.sp_external_doctor_online == '1'}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
handleConfigChange(event, service);
|
handleConfigChange(event, service);
|
||||||
}}
|
}}
|
||||||
@@ -662,7 +704,7 @@ export default function Divisions() {
|
|||||||
alignItems="center"
|
alignItems="center"
|
||||||
>
|
>
|
||||||
<Typography id="modal-modal-title" variant="h6" color={'#FFF'} component="h2">
|
<Typography id="modal-modal-title" variant="h6" color={'#FFF'} component="h2">
|
||||||
Specialities
|
Specialities Exclusion
|
||||||
</Typography>
|
</Typography>
|
||||||
<Button
|
<Button
|
||||||
sx={{ color: '#FFF' }}
|
sx={{ color: '#FFF' }}
|
||||||
@@ -680,10 +722,11 @@ export default function Divisions() {
|
|||||||
<TableHead>
|
<TableHead>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
|
onClick={(event) => handleCheckAll(event, checkAll)}
|
||||||
/>
|
checked={checkAll} // Ini penting untuk memastikan status checkbox sesuai dengan state checkAll
|
||||||
|
content='test'
|
||||||
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell sx={{ width: 10 }}>Specialitation</TableCell>
|
<TableCell sx={{ width: 10 }}>Specialitation</TableCell>
|
||||||
<TableCell>MSC</TableCell>
|
<TableCell>MSC</TableCell>
|
||||||
@@ -708,6 +751,7 @@ export default function Divisions() {
|
|||||||
checked={Object.keys(service.selected_specialities).includes(
|
checked={Object.keys(service.selected_specialities).includes(
|
||||||
String(row.id)
|
String(row.id)
|
||||||
)}
|
)}
|
||||||
|
// checked={checkAll}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
handleToggleSpeciality(event, service, row);
|
handleToggleSpeciality(event, service, row);
|
||||||
}}
|
}}
|
||||||
@@ -725,6 +769,7 @@ export default function Divisions() {
|
|||||||
(item: { speciality_id: any; msc: { m: string } }) =>
|
(item: { speciality_id: any; msc: { m: string } }) =>
|
||||||
item.speciality_id == row.id && item.msc?.m == '1'
|
item.speciality_id == row.id && item.msc?.m == '1'
|
||||||
)}
|
)}
|
||||||
|
// checked={true}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
handleConfigExclusion(event, service, row, 'm', 'msc');
|
handleConfigExclusion(event, service, row, 'm', 'msc');
|
||||||
}}
|
}}
|
||||||
@@ -739,6 +784,7 @@ export default function Divisions() {
|
|||||||
(item: { speciality_id: any; msc: { s: string } }) =>
|
(item: { speciality_id: any; msc: { s: string } }) =>
|
||||||
item.speciality_id == row.id && item.msc?.s == '1'
|
item.speciality_id == row.id && item.msc?.s == '1'
|
||||||
)}
|
)}
|
||||||
|
// checked={true}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
handleConfigExclusion(event, service, row, 's', 'msc');
|
handleConfigExclusion(event, service, row, 's', 'msc');
|
||||||
}}
|
}}
|
||||||
@@ -775,6 +821,7 @@ export default function Divisions() {
|
|||||||
item.speciality_id == row.id &&
|
item.speciality_id == row.id &&
|
||||||
item.gender?.male == '1'
|
item.gender?.male == '1'
|
||||||
)}
|
)}
|
||||||
|
// checked={true}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
handleConfigExclusion(
|
handleConfigExclusion(
|
||||||
event,
|
event,
|
||||||
|
|||||||
Reference in New Issue
Block a user