# 경조사비 ↔ 대시보드 가지급금 연동 요청 > **작성일**: 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 페이지** | 대시보드 > 가지급금 현황 카드 | 회계관리 > 경조사비 | ### 발생 이슈 1. 경조사비 관리 페이지에서 등록한 데이터가 대시보드 가지급금 "경조사" 항목에 반영되지 않음 2. 사용자 관점에서 "경조사비를 등록했는데 대시보드에 안 보인다"는 혼란 발생 가능 3. 두 시스템의 "경조사" 데이터가 별개로 존재하여 일관성 부족 --- ## 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()` + FE `CardManagementSection` 수정 ### 방안 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. 요청 사항 1. **방안 A~D 중 선택** 후 FE팀에 전달 2. 선택된 방안에 따라 **API 수정 범위** 확정 3. 수정 완료 후 FE 연동 작업 진행 --- **최종 업데이트**: 2026-03-19