feat:카드 사용내역 공제/증빙/내역 필드 수정 기능 추가

- 공제 필드: 공제/불공 선택 가능 (불공은 적색 표시)
- 증빙/판매자상호 필드: 텍스트 입력으로 수정 가능
- 내역 필드: 텍스트 입력으로 수정 가능
- CardTransaction 모델에 deduction_type, evidence_name, description 필드 추가
- 마이그레이션 추가
- 컨트롤러에서 새 필드 저장/로드 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-23 15:16:17 +09:00
parent 6221e84ea6
commit 7ad8b00a47
4 changed files with 91 additions and 12 deletions

View File

@@ -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 {