docs: [changes] 분리 카드거래 분개 매칭 누락 수정 변경이력 추가
This commit is contained in:
1
INDEX.md
1
INDEX.md
@@ -288,6 +288,7 @@ DB 도메인별:
|
||||
| [20260319_db_codebridge_migration_and_fixes.md](changes/20260319_db_codebridge_migration_and_fixes.md) | MNG 전용 테이블 codebridge DB 이관 + 손익계산서 매출액/월별 세부내역 수정 |
|
||||
| [20260319_attendance_leave_sync_fix.md](changes/20260319_attendance_leave_sync_fix.md) | 근태현황 승인된 휴가 누락 attendance 레코드 자동 보정 |
|
||||
| [20260319_card_transaction_display_unification.md](changes/20260319_card_transaction_display_unification.md) | 카드거래 표시 포맷 3개 화면 통일 (계정별원장·일반전표·카드사용내역) |
|
||||
| [20260319_split_card_journal_matching_fix.md](changes/20260319_split_card_journal_matching_fix.md) | 분리 카드거래 분개 매칭 누락 수정 (split source_key 패턴 매칭) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
49
changes/20260319_split_card_journal_matching_fix.md
Normal file
49
changes/20260319_split_card_journal_matching_fix.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 분리 카드거래 분개 매칭 누락 수정
|
||||
|
||||
**날짜:** 2026-03-19
|
||||
**작업자:** Claude Code
|
||||
|
||||
## 변경 개요
|
||||
|
||||
카드사용내역에서 1건의 카드거래를 공제/불공제로 분리(split)한 후 각각 분개하면, 일반전표입력 화면에서 해당 거래가 **미분개**로 표시되는 버그를 수정했다.
|
||||
|
||||
**원인**: 분리 분개의 `source_key`는 `uniqueKey|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개 화면 통일
|
||||
Reference in New Issue
Block a user