update listing dan edit claim management

This commit is contained in:
2023-10-26 10:32:43 +07:00
parent 0abcaea006
commit adcb4e508d
22 changed files with 2302 additions and 1218 deletions

View File

@@ -15,6 +15,8 @@ use Modules\Internal\Transformers\ClaimRequestShowResource;
use Illuminate\Support\Facades\Storage;
use App\Services\ClaimRequestService;
use App\Exceptions\ImportRowException;
use App\Events\ClaimRequested;
use App\Models\File;
use App\Models\FilesMcu;
@@ -85,7 +87,7 @@ class ClaimRequestController extends Controller
'files',
'member',
'claim',
'claim.organization',
'organization',
]);
return Helper::responseJson(data: ClaimRequestShowResource::make($claimRequest));
@@ -109,30 +111,38 @@ class ClaimRequestController extends Controller
*/
public function update(Request $request, $id)
{
$claim_id = ClaimRequest::find($id)->claim_id;
$organization_id = Organization::where('code', $request->provider_code)->first();
if (!$organization_id) {
$claimRequest = ClaimRequest::findOrFail($id);
$claimRequest->load([
'histories' => function ($history) {
$history->latest();
},
'files',
'member',
'claim',
'organization',
]);
$organization = Organization::where('code', $request->provider_code)->first();
if (!$organization) {
return response()->json(['error' => true, 'message' => 'Data tidak ditemukan'], 404);
}
$newClaimRequest = ClaimRequestService::updateClaimRequest(code: $code, member: $member, paymentType: 'reimbursement', serviceCode: $request->service_code);
ClaimRequested::dispatch($newClaimRequest);
$updateClaimRequest = ClaimRequestService::updateClaimRequest(organization_id: $organization->id, claim_request_id: $id);
ClaimRequested::dispatch($updateClaimRequest);
// Log History
$newClaimRequest->histories()->create([
$updateClaimRequest->histories()->create([
'title' => 'Update Claim Requested',
'description' => "Update Claim Requested for Member : {$member->member_id} - ({$member->full_name})",
'type' => 'info',
'system_origin' => 'hospital-portal'
'description' => "Update Claim Requested for Member : {$claimRequest->member->member_id} - ({$claimRequest->member->full_name})",
'type' => 'update',
'system_origin' => 'prime-center'
]);
if ($request->hasFile('result_files')) {
foreach ($request->result_files as $file) {
$pathFile = File::storeFile('claim-result', $newClaimRequest->id, $file);
$newClaimRequest->files()->updateOrCreate([
$pathFile = File::storeFile('claim-result', $id, $file);
$updateClaimRequest->files()->updateOrCreate([
'type' => 'claim-result',
'name' => File::getFileName('claim-result', $newClaimRequest->id, $file),
'name' => File::getFileName('claim-result', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
@@ -144,10 +154,10 @@ class ClaimRequestController extends Controller
if ($request->hasFile('diagnosa_files')) {
foreach ($request->diagnosa_files as $file) {
$pathFile = File::storeFile('claim-diagnosis', $newClaimRequest->id, $file);
$newClaimRequest->files()->updateOrCreate([
$pathFile = File::storeFile('claim-diagnosis', $id, $file);
$updateClaimRequest->files()->updateOrCreate([
'type' => 'claim-diagnosis',
'name' => File::getFileName('claim-diagnosis', $newClaimRequest->id, $file),
'name' => File::getFileName('claim-diagnosis', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
@@ -159,10 +169,10 @@ class ClaimRequestController extends Controller
if ($request->hasFile('kondisi_files')) {
foreach ($request->kondisi_files as $file) {
$pathFile = File::storeFile('claim-kondisi', $newClaimRequest->id, $file);
$newClaimRequest->files()->updateOrCreate([
$pathFile = File::storeFile('claim-kondisi', $id, $file);
$updateClaimRequest->files()->updateOrCreate([
'type' => 'claim-kondisi',
'name' => File::getFileName('claim-kondisi', $newClaimRequest->id, $file),
'name' => File::getFileName('claim-kondisi', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
@@ -171,6 +181,13 @@ class ClaimRequestController extends Controller
]);
}
}
return response()->json([
'error' => false,
'message' => 'Update succses',
'data' => $updateClaimRequest],
200);
}
/**
@@ -308,17 +325,18 @@ class ClaimRequestController extends Controller
'Ingest Code' => $e->getCode(),
'Ingest Note' => $e->getMessage(),
]), $sheet->getName());
} catch (\Exception $e) {
// throw new \Exception($e);
// Write Server Error to File
// $import->read($fileRead);
// $import->write($fileWrite, 'xsls');
dd($e);
$import->addArrayToRow(array_merge($row_data, [
'Ingest Code' => 500,
'Ingest Note' => env('APP_DEBUG') ? $e->getMessage() : 'Server Error',
]), $sheet->getName());
}
}
// catch (\Exception $e) {
// // throw new \Exception($e);
// // Write Server Error to File
// // $import->read($fileRead);
// // $import->write($fileWrite, 'xsls');
// dd( $e->getMessage());
// $import->addArrayToRow(array_merge($row_data, [
// 'Ingest Code' => 500,
// 'Ingest Note' => env('APP_DEBUG') ? $e->getMessage() : 'Server Error',
// ]), $sheet->getName());
// }
}
}
}