diff --git a/app/Http/Controllers/Barobill/EcardController.php b/app/Http/Controllers/Barobill/EcardController.php index 9a95e2cb..ea02227b 100644 --- a/app/Http/Controllers/Barobill/EcardController.php +++ b/app/Http/Controllers/Barobill/EcardController.php @@ -548,6 +548,10 @@ private function parseTransactionLogs($resultData, $savedData = null): array // 저장된 계정과목 정보 병합 'accountCode' => $savedItem?->account_code ?? '', 'accountName' => $savedItem?->account_name ?? '', + // 수정 가능한 필드들 (저장된 값 또는 기본값) + 'deductionType' => $savedItem?->deduction_type ?? ($log->UseStoreCorpNum ? 'deductible' : 'non_deductible'), + 'evidenceName' => $savedItem?->evidence_name ?? ($log->UseStoreName ?? ''), + 'description' => $savedItem?->description ?? ($log->UseStoreBizType ?? $log->Memo ?? ''), 'isSaved' => $savedItem !== null, ]; @@ -716,6 +720,9 @@ public function save(Request $request): JsonResponse 'use_key' => $trans['useKey'] ?? '', 'account_code' => $trans['accountCode'] ?? null, 'account_name' => $trans['accountName'] ?? null, + 'deduction_type' => $trans['deductionType'] ?? null, + 'evidence_name' => $trans['evidenceName'] ?? null, + 'description' => $trans['description'] ?? null, ]; // Upsert: 있으면 업데이트, 없으면 생성 @@ -727,10 +734,13 @@ public function save(Request $request): JsonResponse ->first(); if ($existing) { - // 계정과목만 업데이트 + // 계정과목 및 수정 가능한 필드들 업데이트 $existing->update([ 'account_code' => $data['account_code'], 'account_name' => $data['account_name'], + 'deduction_type' => $data['deduction_type'], + 'evidence_name' => $data['evidence_name'], + 'description' => $data['description'], ]); $updated++; } else { diff --git a/app/Models/Barobill/CardTransaction.php b/app/Models/Barobill/CardTransaction.php index bd4da981..369b45c5 100644 --- a/app/Models/Barobill/CardTransaction.php +++ b/app/Models/Barobill/CardTransaction.php @@ -38,6 +38,9 @@ class CardTransaction extends Model 'use_key', 'account_code', 'account_name', + 'deduction_type', + 'evidence_name', + 'description', ]; protected $casts = [ diff --git a/database/migrations/2026_01_23_180000_add_editable_fields_to_barobill_card_transactions_table.php b/database/migrations/2026_01_23_180000_add_editable_fields_to_barobill_card_transactions_table.php new file mode 100644 index 00000000..52623721 --- /dev/null +++ b/database/migrations/2026_01_23_180000_add_editable_fields_to_barobill_card_transactions_table.php @@ -0,0 +1,34 @@ +string('deduction_type', 20)->nullable()->after('account_name')->comment('공제유형: deductible/non_deductible'); + // 증빙/판매자상호 (사용자 수정용) + $table->string('evidence_name', 255)->nullable()->after('deduction_type')->comment('증빙/판매자상호 (수정용)'); + // 내역 (사용자 수정용) + $table->string('description', 500)->nullable()->after('evidence_name')->comment('내역 (수정용)'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('barobill_card_transactions', function (Blueprint $table) { + $table->dropColumn(['deduction_type', 'evidence_name', 'description']); + }); + } +}; diff --git a/resources/views/barobill/ecard/index.blade.php b/resources/views/barobill/ecard/index.blade.php index e706a641..9e4a8725 100644 --- a/resources/views/barobill/ecard/index.blade.php +++ b/resources/views/barobill/ecard/index.blade.php @@ -471,6 +471,7 @@ className="flex-1 py-2 bg-purple-600 text-white rounded-lg hover:bg-purple-700 t totalCount, accountCodes, onAccountCodeChange, + onFieldChange, onSave, onExport, saving, @@ -644,22 +645,39 @@ className="p-1.5 text-purple-500 hover:bg-purple-100 rounded-lg transition-color