diff --git a/app/Http/Controllers/Finance/PayableController.php b/app/Http/Controllers/Finance/PayableController.php index 8d2c20bf..1a9024f0 100644 --- a/app/Http/Controllers/Finance/PayableController.php +++ b/app/Http/Controllers/Finance/PayableController.php @@ -512,15 +512,30 @@ public function journalPayables(Request $request): JsonResponse */ public function deleteJournalEntry(int $id): JsonResponse { - $tenantId = session('selected_tenant_id', 1); + try { + $tenantId = session('selected_tenant_id', 1); - $entry = JournalEntry::where('tenant_id', $tenantId)->findOrFail($id); + $entry = JournalEntry::where('tenant_id', $tenantId)->find($id); - $entry->delete(); + if (! $entry) { + return response()->json([ + 'success' => false, + 'message' => "전표(ID: {$id})를 찾을 수 없습니다. (tenant: {$tenantId})", + ], 404); + } - return response()->json([ - 'success' => true, - 'message' => "전표 {$entry->entry_no}이(가) 삭제되었습니다.", - ]); + $entryNo = $entry->entry_no; + $entry->delete(); + + return response()->json([ + 'success' => true, + 'message' => "전표 {$entryNo}이(가) 삭제되었습니다.", + ]); + } catch (\Throwable $e) { + return response()->json([ + 'success' => false, + 'message' => '삭제 오류: '.$e->getMessage(), + ], 500); + } } } diff --git a/resources/views/finance/payables.blade.php b/resources/views/finance/payables.blade.php index dcc74d1d..0e68bbed 100644 --- a/resources/views/finance/payables.blade.php +++ b/resources/views/finance/payables.blade.php @@ -87,7 +87,7 @@ function IntegratedTab({ startDate, endDate, account, vendorSearch }) { try { const res = await fetch(`/finance/payables/journal-entry/${journalEntryId}`, { method: 'DELETE', - headers: { 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content }, + headers: { 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content, 'Accept': 'application/json' }, }); const json = await res.json(); if (json.success) {