Files
sam-docs/changes/20260319_split_card_journal_matching_fix.md

2.4 KiB

분리 카드거래 분개 매칭 누락 수정

날짜: 2026-03-19 작업자: Claude Code

변경 개요

카드사용내역에서 1건의 카드거래를 공제/불공제로 분리(split)한 후 각각 분개하면, 일반전표입력 화면에서 해당 거래가 미분개로 표시되는 버그를 수정했다.

원인: 분리 분개의 source_keyuniqueKey|split:{id} 형식인데, 일반전표입력과 계정별원장에서는 원본 uniqueKey로만 매칭하여 분리 분개를 인식하지 못했음.

수정된 파일

파일 변경 내용
app/Http/Controllers/Finance/JournalEntryController.php cardTransactions() 메서드에 분리 source_key LIKE 매칭 + 분리 건수 비교 로직 추가
app/Http/Controllers/Finance/AccountLedgerController.php fetchCardTransactions()에서 분리 키(uniqueKey|split:N)도 원본 카드 데이터로 매핑
resources/views/finance/journal-entries.blade.php 카드거래 행 빌드 시 복수 분리 분개 journal을 합산하여 1행 표시

상세 변경 사항

1. JournalEntryController — 분리 분개 감지

  • source_key LIKE 'uniqueKey|split:%' 패턴으로 분리 분개 journal_entries 조회
  • barobill_card_transaction_splits 테이블에서 분리 건수 조회
  • 분리 건수 == 분리 분개 수이면 hasJournal = true
  • splitJournalIds 배열을 프론트엔드에 전달

2. AccountLedgerController — 분리 키 매핑

  • source_key 파싱 시 |split:N 접미사 제거하여 원본 4-part 키 추출
  • 분리 키도 원본 카드거래 데이터(카드번호, 카드사, 가맹점 등)로 매핑

3. journal-entries.blade.php — 복수 분개 합산

  • splitJournalIds가 있으면 모든 journal의 lines를 합산
  • linkedJournalIds에 모든 분리 journal ID 등록 (중복 행 방지)
  • 차변/대변 합계도 복수 journal 합산

테스트 체크리스트

  • 분리 거래(2건 이상 분리)가 일반전표에서 자물쇠 아이콘으로 표시
  • 분리 분개의 모든 라인(불공제+공제)이 분개 내역 컬럼에 합산 표시
  • 분리되지 않은 일반 카드거래의 분개 표시가 기존과 동일 (회귀 없음)
  • 계정별원장에서 분리 카드거래 행에 카드 배지/가맹점 정보 표시

관련 문서

  • changes/20260319_card_transaction_display_unification.md — 카드거래 표시 포맷 3개 화면 통일