- 현재 loans vs condolence_expenses 테이블 분리 현황 정리 - 4가지 방안 (합산/별도항목/자동연동/현행유지) 제시 - 백엔드 정책 결정 요청 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
경조사비 ↔ 대시보드 가지급금 연동 요청
작성일: 2026-03-19 요청자: FE 개발팀 대상: 백엔드 개발팀 우선순위: 정책 확인 후 결정
1. 현황
현재 구조
경조사비 관련 데이터가 2개의 별도 테이블에서 관리되고 있으며, 대시보드와 경조사비 관리 페이지가 서로 다른 데이터를 조회합니다.
| 구분 | 대시보드 가지급금 "경조사" | 경조사비 관리 페이지 |
|---|---|---|
| 테이블 | loans (category = congratulatory) |
condolence_expenses |
| API | GET /api/v1/loans/dashboard |
GET /api/v1/condolence-expenses |
| 개념 | 경조사 관련 가지급금 (선지급 → 정산) | 경조사비 직접 지출 기록 |
| 날짜 기준 | loan_date (대출일) |
event_date (경조사일) |
| 금액 의미 | amount - settlement_amount (미정산 잔액) |
cash_amount + gift_amount (지출 총액) |
| FE 페이지 | 대시보드 > 가지급금 현황 카드 | 회계관리 > 경조사비 |
발생 이슈
- 경조사비 관리 페이지에서 등록한 데이터가 대시보드 가지급금 "경조사" 항목에 반영되지 않음
- 사용자 관점에서 "경조사비를 등록했는데 대시보드에 안 보인다"는 혼란 발생 가능
- 두 시스템의 "경조사" 데이터가 별개로 존재하여 일관성 부족
2. 정책 결정 필요 사항
아래 3가지 방안 중 선택이 필요합니다.
방안 A: 대시보드에 condolence_expenses 합산
대시보드 가지급금 "경조사" = loans(congratulatory) + condolence_expenses 합산
- 장점: 사용자가 등록한 경조사비가 즉시 대시보드에 반영
- 단점: 가지급금(미정산)과 지출(확정)이 혼합되어 금액 의미가 모호해짐
- 수정 범위:
LoanService::getCategoryBreakdown()수정
방안 B: 대시보드에 별도 항목 추가
가지급금 현황:
카드 1,150만
경조사 30만 ← loans 테이블 (기존)
경조사비 10만 ← condolence_expenses 테이블 (신규)
상품권 50만
접대비 45만
- 장점: 데이터 출처가 명확, 이중 집계 없음
- 단점: 카드가 5→6개로 증가, UI 조정 필요
- 수정 범위:
LoanService::dashboard()+ FECardManagementSection수정
방안 C: condolence_expenses 등록 시 loans 자동 생성
경조사비 등록 → loans 테이블에 category=congratulatory로 자동 삽입
- 장점: 단일 데이터 소스, 대시보드 자동 반영
- 단점: 서비스 간 결합도 증가, 양쪽 삭제/수정 시 동기화 복잡
- 수정 범위:
CondolenceExpenseService::store/update/destroy()+LoanService연동
방안 D: 현행 유지 (별개 관리)
- 장점: 수정 없음, 각 시스템 독립 운영
- 단점: 사용자 혼란 지속
- 수정 범위: 없음 (문서/가이드로 안내)
3. 참고: 현재 코드 위치
백엔드 (sam-api)
| 파일 | 역할 |
|---|---|
app/Services/LoanService.php 라인 524-660 |
dashboard(), getCategoryBreakdown() |
app/Models/Tenants/Loan.php 라인 52-78 |
카테고리 상수 (CATEGORY_CONGRATULATORY) |
app/Services/CondolenceExpenseService.php |
경조사비 CRUD + summary |
프론트엔드 (sam-react)
| 파일 | 역할 |
|---|---|
src/hooks/useCEODashboard.ts 라인 118-134 |
가지급금 데이터 fetch (/loans/dashboard) |
src/lib/api/dashboard/transformers/expense.ts 라인 203-211 |
cm2(경조사) 카드 변환 |
src/components/business/CEODashboard/sections/CardManagementSection.tsx |
가지급금 UI |
4. 요청 사항
- 방안 A~D 중 선택 후 FE팀에 전달
- 선택된 방안에 따라 API 수정 범위 확정
- 수정 완료 후 FE 연동 작업 진행
최종 업데이트: 2026-03-19