add fitur delete dan upload ulang file di FINAL log

This commit is contained in:
2024-02-09 16:58:03 +07:00
parent 7809e8828f
commit 2dad400486
11 changed files with 650 additions and 74 deletions

View File

@@ -861,17 +861,15 @@ class RequestLogController extends Controller
return self::$code_prefix . $sparator. $data['source'] . $sparator. $data['provideCode'] . $sparator. $data['date'] . $sparator . $data['policy'] . $sparator. $data['member_code'] . $sparator. str_pad($next_number, 5, '0', STR_PAD_LEFT);
}
public function requestFiles(Request $request, $claim_id)
public function requestFiles(Request $request, $id)
{
if ($request->hasFile('fileDiagnosis')) {
foreach ($request->fileDiagnosis as $file) {
$pathFile = File::storeFile('claim-diagnosis', $claim_id, $file);
File::updateOrCreate([
'fileable_type'=>'App\Models\RequestLog',
'fileable_id' => $claim_id,
'type' => 'claim-diagnosis',
'name' => File::getFileName('claim-diagnosis', $claim_id, $file),
$requestLog = RequestLog::findOrFail($id);
if ($request->hasFile('result_files')) {
foreach ($request->result_files as $file) {
$pathFile = File::storeFile('final-log-result', $id, $file);
$requestLog->files()->updateOrCreate([
'type' => 'final-log-result',
'name' => File::getFileName('final-log-result', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
@@ -881,14 +879,12 @@ class RequestLogController extends Controller
}
}
if ($request->hasFile('fileKondisis')) {
foreach ($request->fileKondisis as $file) {
$pathFile = File::storeFile('claim-kondisi', $claim_id, $file);
File::updateOrCreate([
'fileable_type'=>'App\Models\RequestLog',
'fileable_id' => $claim_id,
'type' => 'claim-kondisi',
'name' => File::getFileName('claim-kondisi', $claim_id, $file),
if ($request->hasFile('diagnosa_files')) {
foreach ($request->diagnosa_files as $file) {
$pathFile = File::storeFile('final-log-diagnosis', $id, $file);
$requestLog->files()->updateOrCreate([
'type' => 'final-log-diagnosis',
'name' => File::getFileName('final-log-diagnosis', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
@@ -898,23 +894,44 @@ class RequestLogController extends Controller
}
}
if ($request->hasFile('fileResults')) {
foreach ($request->fileResults as $file) {
$pathFile = File::storeFile('claim-result', $claim_id, $file);
File::updateOrCreate([
'fileable_type'=>'App\Models\RequestLog',
'fileable_id' => $claim_id,
'type' => 'claim-result',
'name' => File::getFileName('claim-result', $claim_id, $file),
if ($request->hasFile('kondisi_files')) {
foreach ($request->kondisi_files as $file) {
$pathFile = File::storeFile('final-log-kondisi', $id, $file);
$requestLog->files()->updateOrCreate([
'type' => 'final-log-kondisi',
'name' => File::getFileName('final-log-kondisi', $id, $file),
'original_name' => $file->getClientOriginalName(),
'extension' => $file->getClientOriginalExtension(),
'path' => $pathFile,
'path' => $pathFile,
'created_by' => auth()->user()->id,
'updated_by' => auth()->user()->id,
]);
}
}
return Helper::responseJson(data: $request->toArray(), message: 'Invoice Success Uploaded');
return Helper::responseJson(data: $request->toArray(), message: 'File Success Uploaded');
}
public function deleteFiles(Request $request, $id)
{
// Path file yang akan dihapus
$path = 'public/' . $request->path;
// Menghapus file dari penyimpanan
if (Storage::exists($path)) {
Storage::delete($path);
// Update entri file dari basis data
File::where('path', $request->path)->update([
'deleted_at' => Carbon::now(), // Gunakan Carbon untuk mendapatkan tanggal dan waktu saat ini
'deleted_by' => auth()->user()->id,
'reason' => $request->reason
]);
// Mengembalikan respons JSON sukses
return Helper::responseJson(data: $request->toArray(), message: 'File successfully deleted');
}
// Jika file tidak ditemukan di penyimpanan, kirim respons JSON gagal
return Helper::responseJson(data: $request->toArray(), message: 'File deletion failed');
}
}