diff --git a/INDEX.md b/INDEX.md index 79426a2..86a0b0e 100644 --- a/INDEX.md +++ b/INDEX.md @@ -297,6 +297,7 @@ 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) | 분리 카드거래 분개 매칭 + 개별 행 확장 표시 수정 | +| [20260320_income_statement_monthly_total_and_items.md](changes/20260320_income_statement_monthly_total_and_items.md) | 손익계산서 월별보기 합계 열 추가 및 세부계정과목 표시 개선 | --- diff --git a/changes/20260320_income_statement_monthly_total_and_items.md b/changes/20260320_income_statement_monthly_total_and_items.md new file mode 100644 index 0000000..9f5481f --- /dev/null +++ b/changes/20260320_income_statement_monthly_total_and_items.md @@ -0,0 +1,62 @@ +# 손익계산서 월별보기 합계 열 추가 및 세부계정과목 표시 개선 + +**날짜:** 2026-03-20 +**작업자:** Claude Code + +## 변경 개요 + +손익계산서 월별보기(전체 월 모드)에서 두 가지를 개선한다: + +1. **합계 열 추가**: 12월 뒤에 1~12월 총 합계 컬럼 표시 +2. **세부계정과목 표시 개선**: 기간보기와 동일하게 세부 계정과목이 정확히 표시되도록 수정 + +--- + +## 수정된 파일 + +| 파일 | 변경 내용 | +|------|----------| +| `mng/resources/views/finance/income-statement.blade.php` | MonthlyTable 컴포넌트 전체 월 모드 개선 | + +--- + +## 상세 변경 사항 + +### 1. 합계 열 추가 + +- 월별 전체보기(`selectedMonth === 'all'`) 테이블 헤더에 "합 계" 컬럼 추가 +- 각 섹션(매출액, 매출원가 등)의 1~12월 합계를 `reduce()`로 계산하여 표시 +- 세부항목별로도 월별 합계를 개별 계산하여 표시 +- 합계 열은 `bg-emerald-700`(헤더) / `bg-gray-50`(본문)으로 시각 구분 + +### 2. 세부계정과목 코드 기반 매칭 (버그 수정) + +**기존 문제:** +- 첫 번째 월(1월)의 항목만 기준으로 세부계정 목록을 구성 +- 인덱스(`[ii]`) 기반 매칭으로 월별 항목 순서가 다르면 잘못된 금액 표시 +- 1월에 없지만 다른 월에 있는 계정이 누락 + +**수정 후:** +- 모든 월에서 등장하는 세부항목을 `sectionItems` 맵으로 수집 +- 계정코드(`item.code`) 기반 `find()` 매칭으로 정확한 금액 표시 +- 어떤 월에서든 한 번이라도 등장한 계정과목은 전체 행에 표시 + +--- + +## 테스트 체크리스트 + +- [x] 월별보기 > 전체 > 합계 열 표시 확인 +- [x] 월별보기 > 전체 > 세부계정과목 표시 확인 +- [x] 월별보기 > 개별 월 선택 > 기존 동작 유지 +- [x] 기간보기 > 기존 동작 유지 +- [ ] 세부항목이 월마다 다른 경우 정확한 매칭 확인 + +--- + +## 관련 문서 + +- 없음 + +--- + +**최종 업데이트**: 2026-03-20