From 129b383ed51990b949c5ff1093cfe9eff12810ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Tue, 10 Mar 2026 11:37:45 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[journal]=20=EA=B8=89=EC=97=AC=20?= =?UTF-8?q?=EC=A0=84=ED=91=9C=20=EC=88=98=EC=A0=95=20=ED=97=88=EC=9A=A9=20?= =?UTF-8?q?=EB=B0=8F=20source=5Ftype=20=EB=9D=BC=EB=B2=A8=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - payroll source_type 전표 수정 허용 (기존: manual, bank_transaction만) - source_type별 정확한 라벨 매핑 (카드사용내역, 홈택스 매출/매입) - 프론트/백엔드 양쪽 수정 --- .../Controllers/Finance/JournalEntryController.php | 12 +++++++++--- resources/views/finance/journal-entries.blade.php | 10 ++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Finance/JournalEntryController.php b/app/Http/Controllers/Finance/JournalEntryController.php index f2737da7..69a81698 100644 --- a/app/Http/Controllers/Finance/JournalEntryController.php +++ b/app/Http/Controllers/Finance/JournalEntryController.php @@ -239,9 +239,15 @@ public function update(Request $request, int $id): JsonResponse $tenantId = session('selected_tenant_id', 1); $entry = JournalEntry::forTenant($tenantId)->findOrFail($id); - // 출처 연결 전표 수정 제한 (카드/홈택스는 원본에서 수정, 계좌는 허용) - if ($entry->source_type && ! in_array($entry->source_type, ['manual', 'bank_transaction'])) { - $sourceLabel = $entry->source_type === 'ecard_transaction' ? '카드사용내역' : '홈택스 매출/매입'; + // 출처 연결 전표 수정 제한 (카드/홈택스는 원본에서 수정, 계좌/급여는 허용) + $editableTypes = ['manual', 'bank_transaction', 'payroll']; + if ($entry->source_type && ! in_array($entry->source_type, $editableTypes)) { + $sourceLabels = [ + 'ecard_transaction' => '카드사용내역', + 'hometax_sales' => '홈택스 매출', + 'hometax_purchase' => '홈택스 매입', + ]; + $sourceLabel = $sourceLabels[$entry->source_type] ?? '홈택스 매출/매입'; return response()->json([ 'success' => false, diff --git a/resources/views/finance/journal-entries.blade.php b/resources/views/finance/journal-entries.blade.php index 9326cd69..b00c136b 100644 --- a/resources/views/finance/journal-entries.blade.php +++ b/resources/views/finance/journal-entries.blade.php @@ -2623,8 +2623,14 @@ function App() { try { const res = await fetch(`/finance/journal-entries/${entryId}`); const data = await res.json(); - if (data.success && data.data.source_type && !['manual', 'bank_transaction'].includes(data.data.source_type)) { - const sourceLabel = data.data.source_type === 'ecard_transaction' ? '카드사용내역' : '홈택스 매출/매입'; + const editableTypes = ['manual', 'bank_transaction', 'payroll']; + if (data.success && data.data.source_type && !editableTypes.includes(data.data.source_type)) { + const sourceLabels = { + 'ecard_transaction': '카드사용내역', + 'hometax_sales': '홈택스 매출', + 'hometax_purchase': '홈택스 매입', + }; + const sourceLabel = sourceLabels[data.data.source_type] || '홈택스 매출/매입'; notify(`이 전표는 ${sourceLabel}에서 수정해주세요.`, 'warning'); return; }