Files
김보곤 a23e2560ac docs:카드/차량관리 개발문서 추가 (5개 메뉴)
- 법인카드관리: 카드 CRUD, 결제일 휴일조정, 사용금액 집계, 선불결제
- 카드사용내역: 바로빌 SOAP 연동, 분개, 거래숨김, 금액수정
- 차량목록: 법인/렌트/리스 차량 등록, 주행거리 자동계산
- 차량일지: 운행기록, 용도별 통계, 출발↔도착 교환
- 정비이력: 카테고리별 비용 관리, 주행거리 자동갱신

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:31:25 +09:00

118 lines
6.7 KiB
Markdown

# 카드/차량관리 기능
## 개요
SAM 프로젝트의 카드/차량관리 모듈은 법인카드 관리, 카드 사용내역 조회, 차량 관리, 운행일지, 정비이력을 종합적으로 관리하는 시스템입니다.
바로빌 API 연동을 통한 카드거래 자동 수집, 카드별 사용금액 집계, 차량 운행/정비 기록 관리 기능을 제공합니다.
## 메뉴 구성
| 메뉴 | 경로 | 설명 | UI 기술 |
|------|------|------|---------|
| [법인카드관리](./corporate-cards.md) | `/finance/corporate-cards` | 법인카드 등록/조회, 요약 대시보드 | React 18 |
| [카드사용내역](./card-transactions.md) | `/finance/card-transactions` | 바로빌 연동 카드거래 조회 및 회계 분류 | React 18 |
| [차량목록](./corporate-vehicles.md) | `/finance/corporate-vehicles` | 법인/렌트/리스 차량 등록 관리 | React 18 |
| [차량일지](./vehicle-logs.md) | `/finance/vehicle-logs` | 차량 운행기록 관리 | React 18 |
| [정비이력](./vehicle-maintenance.md) | `/finance/vehicle-maintenance` | 차량 정비/주유/보험 등 비용 관리 | React 18 |
## 아키텍처
```
┌───────────────────────────────────────────────────────────────┐
│ 카드/차량관리 모듈 │
├──────────────────────┬────────────────────────────────────────┤
│ 카드 관리 영역 │ 차량 관리 영역 │
│ │ │
│ ┌────────────────┐ │ ┌──────────┐ ┌────────┐ ┌────────┐ │
│ │ 법인카드관리 │ │ │ 차량목록 │ │ 차량일지 │ │ 정비이력│ │
│ │ (카드 CRUD) │ │ │(차량CRUD)│ │(운행기록)│ │(비용기록)│ │
│ └───────┬────────┘ │ └────┬─────┘ └────┬───┘ └───┬────┘ │
│ │ │ │ │ │ │
│ ┌───────▼────────┐ │ └──────────────┼──────────┘ │
│ │ 카드사용내역 │ │ │ │
│ │(바로빌 연동) │ │ │ │
│ └───────┬────────┘ │ │ │
├──────────┼───────────┴──────────────────────┼─────────────────┤
│ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 데이터베이스 │ │
│ │ corporate_cards, card_transactions, │ │
│ │ barobill_card_transactions, corporate_card_prepayments │ │
│ │ corporate_vehicles, vehicle_logs, vehicle_maintenances │ │
│ └──────────────────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────┘
```
## 주요 기술 스택
| 기술 | 용도 |
|------|------|
| Laravel 11 (PHP 8.3) | 백엔드 프레임워크 |
| React 18 + Babel | 클라이언트 렌더링 UI (전 페이지) |
| Tailwind CSS + Lucide | 스타일링 및 아이콘 |
| Barobill SOAP API | 카드거래 실시간 연동 |
| MySQL 8.0 | 데이터 저장 |
## 데이터 흐름
```
바로빌 SOAP API ──────────────────────────────┐
(CARD.asmx: 카드거래 자동 수집) │
카드 관리: corporate_cards ← 매칭 → barobill_card_transactions
(카드번호 하이픈 제거 후 매칭)
├── barobill_card_transaction_splits (분개)
├── barobill_card_transaction_hides (숨김)
├── barobill_card_transaction_amount_logs (수정이력)
└── corporate_card_prepayments (선불결제)
차량 관리: corporate_vehicles
├── vehicle_logs (운행기록 → distance_km 합산)
└── vehicle_maintenances (정비기록 → mileage 갱신)
```
## 공통 모델/패턴
### 멀티 테넌트
모든 테이블은 `tenant_id` 기반으로 데이터를 격리합니다.
### React 18 + Babel
모든 페이지는 브라우저 트랜스파일링 방식의 React 18을 사용합니다:
- `@push('scripts')` 블록에 React/Babel/Lucide 스크립트 포함
- `@verbatim` + `<script type="text/babel">` 패턴
- HTMX 네비게이션 시 HX-Redirect 필수 (전체 페이지 리로드)
### 카드번호 매칭 로직
```
corporate_cards.card_number ←매칭→ barobill_card_transactions.card_num
(예: "9438-8309-3638-4247") (예: "9438830936384247")
→ 하이픈 제거 후 매칭: str_replace('-', '', $cardNumber)
```
## 데이터베이스 테이블 요약
### 카드 관련
| 테이블 | 역할 |
|--------|------|
| `corporate_cards` | 법인카드 정보 (카드명, 카드사, 번호, 한도 등) |
| `corporate_card_prepayments` | 월별 선불결제 금액 |
| `card_transactions` | 수동 입력 카드거래 |
| `barobill_card_transactions` | 바로빌 자동 수집 카드거래 |
| `barobill_card_transaction_splits` | 카드거래 분개 (1거래→N계정과목) |
| `barobill_card_transaction_hides` | 거래 숨김 처리 |
| `barobill_card_transaction_amount_logs` | 거래 금액 수정 이력 |
### 차량 관련
| 테이블 | 역할 |
|--------|------|
| `corporate_vehicles` | 법인/렌트/리스 차량 정보 |
| `vehicle_logs` | 차량 운행기록 (출발/도착, 거리, 용도) |
| `vehicle_maintenances` | 정비/주유/보험 등 비용 기록 |