diff --git a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php index 38b65ff2..f355bdb5 100755 --- a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php @@ -227,6 +227,8 @@ class RequestLogController extends Controller 'members.member_id as no_polis', 'members.birth_date', 'request_logs.service_code', + 'request_logs.specialities_id', + 'request_logs.dppj', DB::raw(' CASE WHEN request_logs.status = "requested" THEN "requested" @@ -369,6 +371,8 @@ class RequestLogController extends Controller 'final_log' => 1, 'service_code' =>$request->service_code, 'discharge_date' => $request->discharge_date, + 'dppj' => $request->dppj, + 'specialities_id' => $request->spescialis_id, 'created_final_by'=> auth()->user()->id, 'created_final_at'=> date('Y-m-d H:i:s'), ]); diff --git a/Modules/HospitalPortal/Routes/api.php b/Modules/HospitalPortal/Routes/api.php index 94f74d27..00dbf376 100755 --- a/Modules/HospitalPortal/Routes/api.php +++ b/Modules/HospitalPortal/Routes/api.php @@ -37,6 +37,7 @@ Route::prefix('v1')->group(function() { Route::post('verify-code', [AuthController::class, 'verifCode']); Route::get('service-member/{id}', [AutocompleteController::class, 'serviceCode']); + Route::get('specialis', [AutocompleteController::class, 'specialisList']); Route::middleware('auth:sanctum')->group(function () { diff --git a/Modules/Internal/Transformers/RequestLogShowResource.php b/Modules/Internal/Transformers/RequestLogShowResource.php index d1c9d509..9f2a1143 100755 --- a/Modules/Internal/Transformers/RequestLogShowResource.php +++ b/Modules/Internal/Transformers/RequestLogShowResource.php @@ -117,8 +117,7 @@ class RequestLogShowResource extends JsonResource ->get(); } $memberUsage = Helper::getUsageMember($corporateId, $requestLog['member']['id'], $benefitData); - - if(isset($requestLog['specialities_id'])) + if($requestLog['specialities_id']) { $spesialis = Speciality::query() ->where('id', $requestLog['specialities_id']) @@ -129,7 +128,7 @@ class RequestLogShowResource extends JsonResource $name = '-'; } - if (isset($requestLog['specialities_id'])){ + if ($requestLog['dppj']){ $dppj = $requestLog['dppj']; } else { $dppj = '-'; diff --git a/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php b/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php index 7eff0681..bfc1ead1 100755 --- a/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php +++ b/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php @@ -6,6 +6,7 @@ use App\Models\OLDLMS\User; use App\Models\Icd; use App\Models\Drug; use App\Models\Unit; +use App\Models\Speciality; use App\Models\MemberPlan; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; @@ -196,6 +197,17 @@ class AutocompleteController extends Controller { return response()->json($manipulatedPlan); } + public function specialisList(Request $request){ + $specialities = Speciality::query()->get(); + $manipulatedSpecial = $specialities->map(function ($special) { + return [ + 'value' => optional($special)->id , + 'label' => optional($special)->name, + ]; + }); + return response()->json($manipulatedSpecial); + } + } diff --git a/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx b/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx index a3d34b0c..25eb62d6 100755 --- a/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx @@ -86,7 +86,8 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS // -------------------------------------------------------------- // Submit Form - + const [idSpecialities, setIdSpecialities] = useState(member.specialities_id); + const [inputDppj, setInputDppj] = useState(member.dppj); const [submitLoading, setSubmitLoading] = useState(false); function submitRequestFinalLog() { if(dischargeDate == '') @@ -102,6 +103,8 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS kondisi_files: fileKondisis, discharge_date: fPostFormat(dischargeDate, 'yyyy-MM-dd HH:mm:ss'), service_code: serviceCode, + spescialis_id: idSpecialities, + dppj: inputDppj, }); axios .post('/request-final-log', formData) @@ -121,6 +124,9 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS const [serviceOptions, setServiceOptions] = useState([ { value: '-', label: '-' } ]); + const [specialisOptions, setSpecialisOptions] = useState([ + { value: '-', label: '-' } + ]); useEffect(() => { axios.get('service-member/'+member.member_id) @@ -129,6 +135,13 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS }).catch((error) => { console.error('Error fetching ICD options:', error); }); + + axios.get('specialis') + .then((response) => { + setSpecialisOptions(response.data); + }).catch((error) => { + console.error('Error fetching ICD options:', error); + }); }, []); @@ -365,7 +378,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS id="service_type" options={serviceOptions} getOptionLabel={(option) => option.label || ""} - value={serviceOptions.find((opt) => opt.value == member.service_code) || null} + value={serviceOptions.find((opt) => opt.value == serviceCode) || null} onChange={(event, newValue) => { setServiceCode(newValue?.value || ""); }} @@ -377,6 +390,42 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS + {/* Specialist */} + + + {localeData.txtSpecialist} + option.label || ''} + value={specialisOptions.find((opt) => opt.value === idSpecialities) || null} + onChange={(event, newValue) => { + setIdSpecialities(newValue?.value || 0); + }} + renderInput={(params) => ( + + )} + /> + + + + + + + { localeData.txtDPPJ } + { + setInputDppj(event.target.value); + }} + fullWidth + /> + + + ):''} {obj.final_log === 0 && obj.status === 'approved' ? ( - handleRequestFinalLog(obj.id, obj.full_name, obj.no_polis, obj.submission_date, obj.service_code, obj.member_id) }> + handleRequestFinalLog( + obj.id, + obj.full_name, + obj.no_polis, + obj.submission_date, + obj.service_code, + obj.member_id, + obj.specialities_id, + obj.dppj, + ) }> Request Final LOG